aboutsummaryrefslogtreecommitdiffstats
path: root/src/writer.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-03-10 13:21:51 +0100
committerDavid Robillard <d@drobilla.net>2019-12-20 10:26:55 -0500
commit399d2f05fd4f6e9ee3fdc2f55af8cbd45aa1f4dd (patch)
tree9230977eefbeaa8dfb960d57ed6f95a481fef7cb /src/writer.c
parent63e3e77dd4f17df469c20d2983b69ec6910aba69 (diff)
downloadserd-399d2f05fd4f6e9ee3fdc2f55af8cbd45aa1f4dd.tar.gz
serd-399d2f05fd4f6e9ee3fdc2f55af8cbd45aa1f4dd.tar.bz2
serd-399d2f05fd4f6e9ee3fdc2f55af8cbd45aa1f4dd.zip
Add option for writing terse output without newlines
Diffstat (limited to 'src/writer.c')
-rw-r--r--src/writer.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/writer.c b/src/writer.c
index 9c3b5d3e..cf8ae2fe 100644
--- a/src/writer.c
+++ b/src/writer.c
@@ -379,16 +379,20 @@ uri_sink(const void* buf, size_t size, size_t nmemb, void* stream)
static void
write_newline(SerdWriter* writer)
{
- sink("\n", 1, writer);
- for (int i = 0; i < writer->indent; ++i) {
- sink("\t", 1, writer);
+ if (writer->flags & SERD_WRITE_TERSE) {
+ sink(" ", 1, writer);
+ } else {
+ sink("\n", 1, writer);
+ for (int i = 0; i < writer->indent; ++i) {
+ sink("\t", 1, writer);
+ }
}
}
static void
write_top_level_sep(SerdWriter* writer)
{
- if (!writer->empty) {
+ if (!writer->empty && !(writer->flags & SERD_WRITE_TERSE)) {
write_newline(writer);
}
}