aboutsummaryrefslogtreecommitdiffstats
path: root/src/writer.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/writer.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/writer.c')
-rw-r--r--src/writer.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/writer.c b/src/writer.c
index 7d9346d3..11aa5b53 100644
--- a/src/writer.c
+++ b/src/writer.c
@@ -370,9 +370,9 @@ write_text(SerdWriter* writer, TextContext ctx,
}
static size_t
-uri_sink(const void* buf, size_t len, void* stream)
+uri_sink(const void* buf, size_t size, size_t nmemb, void* stream)
{
- return write_uri((SerdWriter*)stream, (const char*)buf, len);
+ return write_uri((SerdWriter*)stream, (const char*)buf, nmemb);
}
static void
@@ -871,7 +871,7 @@ serd_writer_new(SerdSyntax syntax,
SerdStyle style,
SerdEnv* env,
const SerdURI* base_uri,
- SerdSink ssink,
+ SerdWriteFunc ssink,
void* stream)
{
const WriteContext context = WRITE_CONTEXT_NULL;
@@ -993,24 +993,18 @@ serd_writer_get_env(SerdWriter* writer)
}
size_t
-serd_file_sink(const void* buf, size_t len, void* stream)
-{
- return fwrite(buf, 1, len, (FILE*)stream);
-}
-
-size_t
-serd_buffer_sink(const void* buf, size_t len, void* stream)
+serd_buffer_sink(const void* buf, size_t size, size_t nmemb, void* stream)
{
SerdBuffer* buffer = (SerdBuffer*)stream;
- buffer->buf = (char*)realloc(buffer->buf, buffer->len + len);
- memcpy((uint8_t*)buffer->buf + buffer->len, buf, len);
- buffer->len += len;
- return len;
+ buffer->buf = (char*)realloc(buffer->buf, buffer->len + nmemb);
+ memcpy((uint8_t*)buffer->buf + buffer->len, buf, nmemb);
+ buffer->len += nmemb;
+ return nmemb;
}
char*
serd_buffer_sink_finish(SerdBuffer* stream)
{
- serd_buffer_sink("", 1, stream);
+ serd_buffer_sink("", 1, 1, stream);
return (char*)stream->buf;
}