summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2016-08-29 18:31:15 +0200
committerNiels Möller <nisse@lysator.liu.se>2016-08-29 18:31:15 +0200
commitabe959a3c56798dbc6616bf3940c29f15bb91b92 (patch)
tree8c2ab286557a872c2c43699863de9a6ae781ab7e
parent59ec2fc80a713588207ad98a387683cda48d65a0 (diff)
downloadnettle-abe959a3c56798dbc6616bf3940c29f15bb91b92.tar.gz
Fix pointer sign warnings in sexp_vformat.
-rw-r--r--ChangeLog5
-rw-r--r--sexp-format.c33
2 files changed, 25 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 51fd73a2..b3150110 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-08-29 Niels Möller <nisse@lysator.liu.se>
+
+ * sexp-format.c (strlen_u8): New helper function.
+ (sexp_vformat): Use uint8_t * for strings instead of char *.
+
2016-08-16 Niels Möller <nisse@lysator.liu.se>
* examples/io.c (hash_file): Use uint8_t for buffer.
diff --git a/sexp-format.c b/sexp-format.c
index ad129038..9b35d804 100644
--- a/sexp-format.c
+++ b/sexp-format.c
@@ -90,6 +90,12 @@ format_string(struct nettle_buffer *buffer,
return prefix_length + length;
}
+static inline size_t
+strlen_u8 (const uint8_t *s)
+{
+ return strlen((const char*) s);
+}
+
size_t
sexp_vformat(struct nettle_buffer *buffer, const char *format, va_list args)
{
@@ -103,7 +109,8 @@ sexp_vformat(struct nettle_buffer *buffer, const char *format, va_list args)
{
const char *start = format - 1;
size_t length = 1 + strcspn(format, "()% \t");
- size_t output_length = format_string(buffer, length, start);
+ size_t output_length
+ = format_string(buffer, length, (const uint8_t *) start);
if (!output_length)
return 0;
@@ -161,19 +168,19 @@ sexp_vformat(struct nettle_buffer *buffer, const char *format, va_list args)
case 's':
{
- const char *s;
+ const uint8_t *s;
size_t length;
size_t output_length;
if (nul_flag)
{
- s = va_arg(args, const char *);
- length = strlen(s);
+ s = va_arg(args, const uint8_t *);
+ length = strlen_u8(s);
}
else
{
length = va_arg(args, size_t);
- s = va_arg(args, const char *);
+ s = va_arg(args, const uint8_t *);
}
output_length = format_string(buffer, length, s);
@@ -185,22 +192,22 @@ sexp_vformat(struct nettle_buffer *buffer, const char *format, va_list args)
}
case 't':
{
- const char *s;
+ const uint8_t *s;
size_t length;
size_t output_length;
if (nul_flag)
{
- s = va_arg(args, const char *);
+ s = va_arg(args, const uint8_t *);
if (!s)
break;
- length = strlen(s);
+ length = strlen_u8(s);
}
else
{
length = va_arg(args, size_t);
- s = va_arg(args, const char *);
+ s = va_arg(args, const uint8_t *);
if (!s)
break;
}
@@ -225,18 +232,18 @@ sexp_vformat(struct nettle_buffer *buffer, const char *format, va_list args)
case 'l':
{
- const char *s;
+ const uint8_t *s;
size_t length;
if (nul_flag)
{
- s = va_arg(args, const char *);
- length = strlen(s);
+ s = va_arg(args, const uint8_t *);
+ length = strlen_u8(s);
}
else
{
length = va_arg(args, size_t);
- s = va_arg(args, const char *);
+ s = va_arg(args, const uint8_t *);
}
if (buffer && !nettle_buffer_write(buffer, length, s))