aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-06-15 09:26:17 -0400
committerDavid Robillard <d@drobilla.net>2018-11-25 15:58:12 +0100
commit6cf2ecfab4b3cb150b154bdc1130aca022a8f89c (patch)
tree5ebefe63c8d06c6727f5d7a09cf888960d2a1c87 /src/node.c
parentc8a91d6fcae2b5c7121f059f75e2a164735e56c1 (diff)
downloadserd-6cf2ecfab4b3cb150b154bdc1130aca022a8f89c.tar.gz
serd-6cf2ecfab4b3cb150b154bdc1130aca022a8f89c.tar.bz2
serd-6cf2ecfab4b3cb150b154bdc1130aca022a8f89c.zip
Bring read/write interface closer to C standard
Diffstat (limited to 'src/node.c')
-rw-r--r--src/node.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/node.c b/src/node.c
index 257faf4f..8e9a254a 100644
--- a/src/node.c
+++ b/src/node.c
@@ -204,12 +204,12 @@ serd_uri_string_length(const SerdURI* uri)
}
static size_t
-string_sink(const void* buf, size_t len, void* stream)
+string_sink(const void* buf, size_t size, size_t nmemb, void* stream)
{
char** ptr = (char**)stream;
- memcpy(*ptr, buf, len);
- *ptr += len;
- return len;
+ memcpy(*ptr, buf, size * nmemb);
+ *ptr += size * nmemb;
+ return nmemb;
}
SerdNode*
@@ -279,15 +279,15 @@ serd_node_new_file_uri(const char* path,
SerdBuffer buffer = { uri, uri_len };
for (size_t i = 0; i < path_len; ++i) {
if (evil && path[i] == '\\') {
- serd_buffer_sink("/", 1, &buffer);
+ serd_buffer_sink("/", 1, 1, &buffer);
} else if (path[i] == '%') {
- serd_buffer_sink("%%", 2, &buffer);
+ serd_buffer_sink("%%", 1, 2, &buffer);
} else if (!escape || is_uri_path_char(path[i])) {
- serd_buffer_sink(path + i, 1, &buffer);
+ serd_buffer_sink(path + i, 1, 1, &buffer);
} else {
char escape_str[4] = { '%', 0, 0, 0 };
snprintf(escape_str + 1, sizeof(escape_str) - 1, "%X", path[i]);
- serd_buffer_sink(escape_str, 3, &buffer);
+ serd_buffer_sink(escape_str, 1, 3, &buffer);
}
}
serd_buffer_sink_finish(&buffer);