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>2019-04-13 19:15:32 +0200
commit19b358a447cf62da8aff1f4ef0235b04f39499eb (patch)
tree966fe0e98a7caf157f5ef4031475b92c552f153c /src/writer.c
parent116d82115163a41541db28882d1614574b789f85 (diff)
downloadserd-19b358a447cf62da8aff1f4ef0235b04f39499eb.tar.gz
serd-19b358a447cf62da8aff1f4ef0235b04f39499eb.tar.bz2
serd-19b358a447cf62da8aff1f4ef0235b04f39499eb.zip
Bring read/write interface closer to C standard
Diffstat (limited to 'src/writer.c')
-rw-r--r--src/writer.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/writer.c b/src/writer.c
index 174d331a..13dd62a6 100644
--- a/src/writer.c
+++ b/src/writer.c
@@ -370,9 +370,11 @@ 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);
+ (void)size;
+ assert(size == 1);
+ return write_uri((SerdWriter*)stream, (const char*)buf, nmemb);
}
static void
@@ -870,7 +872,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;
@@ -992,24 +994,21 @@ serd_writer_get_env(SerdWriter* writer)
}
size_t
-serd_file_sink(const void* buf, size_t len, void* stream)
+serd_buffer_sink(const void* buf, size_t size, size_t nmemb, void* stream)
{
- return fwrite(buf, 1, len, (FILE*)stream);
-}
+ assert(size == 1);
+ (void)size;
-size_t
-serd_buffer_sink(const void* buf, size_t len, 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;
}