diff options
author | David Robillard <d@drobilla.net> | 2011-12-23 02:43:36 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-12-23 02:43:36 +0000 |
commit | 4b512a68903953e1372c3ad3b982eed72a7db681 (patch) | |
tree | f6bb25c6519ca165cbb9ab55d51cf37763eff61c | |
parent | e9cdaa1d2fe82818c1488fa66fbf65152a7ebd56 (diff) | |
download | serd-4b512a68903953e1372c3ad3b982eed72a7db681.tar.gz serd-4b512a68903953e1372c3ad3b982eed72a7db681.tar.bz2 serd-4b512a68903953e1372c3ad3b982eed72a7db681.zip |
Add serd_file_sink for the common case of writing to a FILE* stream.
git-svn-id: http://svn.drobilla.net/serd/trunk@262 490d8e77-9747-427b-9fa3-0b8f29cee8a0
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | serd/serd.h | 10 | ||||
-rw-r--r-- | src/serdi.c | 9 | ||||
-rw-r--r-- | src/writer.c | 9 | ||||
-rw-r--r-- | wscript | 2 |
5 files changed, 22 insertions, 9 deletions
@@ -15,6 +15,7 @@ serd (UNRELEASED) unstable; urgency=low other tools fail to parse. * Add serd_strtod(), serd_node_new_decimal(), and serd_node_new_integer() for locale-independent numeric node parsing/serialising. + * Add serd_file_sink for the common case of writing to a FILE* stream. -- David Robillard <d@drobilla.net> (UNRELEASED) diff --git a/serd/serd.h b/serd/serd.h index eebfa113..3e84c302 100644 --- a/serd/serd.h +++ b/serd/serd.h @@ -660,6 +660,16 @@ void serd_writer_free(SerdWriter* writer); /** + A convenience sink function for writing to a FILE*. + + This function can be used as a SerdSink when writing to a FILE*. The + associated @c stream parameter must be a FILE* opened for writing. +*/ +SERD_API +size_t +serd_file_sink(const void* buf, size_t len, void* stream); + +/** Set a prefix to be removed from matching blank node identifiers. */ SERD_API diff --git a/src/serdi.c b/src/serdi.c index 14fe3275..7a3ef301 100644 --- a/src/serdi.c +++ b/src/serdi.c @@ -56,13 +56,6 @@ print_usage(const char* name, bool error) return error ? 1 : 0; } -static size_t -file_sink(const void* buf, size_t len, void* stream) -{ - FILE* file = (FILE*)stream; - return fwrite(buf, 1, len, file); -} - bool set_syntax(SerdSyntax* syntax, const char* name) { @@ -202,7 +195,7 @@ main(int argc, char** argv) } SerdWriter* writer = serd_writer_new( - output_syntax, output_style, env, &base_uri, file_sink, out_fd); + output_syntax, output_style, env, &base_uri, serd_file_sink, out_fd); if (chop_prefix) { serd_writer_chop_blank_prefix(writer, chop_prefix); diff --git a/src/writer.c b/src/writer.c index cee0455f..b9d80ce7 100644 --- a/src/writer.c +++ b/src/writer.c @@ -606,3 +606,12 @@ serd_writer_free(SerdWriter* writer) } free(writer); } + +SERD_API +size_t +serd_file_sink(const void* buf, size_t len, void* stream) +{ + FILE* file = (FILE*)stream; + return fwrite(buf, 1, len, file); +} + @@ -10,7 +10,7 @@ from waflib.extras import autowaf as autowaf import waflib.Logs as Logs, waflib.Options as Options # Version of this package (even if built as a child) -SERD_VERSION = '0.7.0' +SERD_VERSION = '0.8.0' SERD_MAJOR_VERSION = '0' # Library version (UNIX style major, minor, micro) |