diff options
author | David Robillard <d@drobilla.net> | 2019-03-10 13:21:51 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-10-27 13:13:58 +0100 |
commit | b58e832527b850eca5e2c5a6f2157d307b0f45b5 (patch) | |
tree | 6470697a934e5d47d75a19622527b7ea7eb331fd /src/serdi.c | |
parent | e5c5190771faec5bf3a81941d174763c2fda2a98 (diff) | |
download | serd-b58e832527b850eca5e2c5a6f2157d307b0f45b5.tar.gz serd-b58e832527b850eca5e2c5a6f2157d307b0f45b5.tar.bz2 serd-b58e832527b850eca5e2c5a6f2157d307b0f45b5.zip |
Add option for writing terse output without newlines
Diffstat (limited to 'src/serdi.c')
-rw-r--r-- | src/serdi.c | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/src/serdi.c b/src/serdi.c index cc7c14cc..7621b41e 100644 --- a/src/serdi.c +++ b/src/serdi.c @@ -66,6 +66,7 @@ print_usage(const char* name, bool error) fprintf(os, " -r ROOT_URI Keep relative URIs within ROOT_URI.\n"); fprintf(os, " -S Stream model quickly without inlining.\n"); fprintf(os, " -s INPUT Parse INPUT as string (terminates options).\n"); + fprintf(os, " -t Write terser output without newlines.\n"); fprintf(os, " -v Display version information and exit.\n"); return error ? 1 : 0; } @@ -84,35 +85,34 @@ main(int argc, char** argv) return print_usage(argv[0], true); } - SerdSyntax input_syntax = (SerdSyntax)0; - SerdSyntax output_syntax = (SerdSyntax)0; - bool from_string = false; - bool from_stdin = false; - bool ascii = false; - bool bulk_read = true; - bool bulk_write = false; - bool full_uris = false; - bool no_inline = false; - bool lax = false; - bool use_model = false; - bool quiet = false; - size_t stack_size = 4194304; - const char* add_prefix = NULL; - const char* chop_prefix = NULL; - const char* root_uri = NULL; - int a = 1; + SerdSyntax input_syntax = (SerdSyntax)0; + SerdSyntax output_syntax = (SerdSyntax)0; + SerdWriterFlags writer_flags = 0u; + bool from_string = false; + bool from_stdin = false; + bool bulk_read = true; + bool bulk_write = false; + bool no_inline = false; + bool lax = false; + bool use_model = false; + bool quiet = false; + size_t stack_size = 4194304; + const char* add_prefix = NULL; + const char* chop_prefix = NULL; + const char* root_uri = NULL; + int a = 1; for (; a < argc && argv[a][0] == '-'; ++a) { if (argv[a][1] == '\0') { from_stdin = true; break; } else if (argv[a][1] == 'a') { - ascii = true; + writer_flags |= SERD_WRITE_ASCII; } else if (argv[a][1] == 'b') { bulk_write = true; } else if (argv[a][1] == 'e') { bulk_read = false; } else if (argv[a][1] == 'f') { - full_uris = true; + writer_flags |= (SERD_WRITE_UNQUALIFIED | SERD_WRITE_UNRESOLVED); } else if (argv[a][1] == 'h') { return print_usage(argv[0], false); } else if (argv[a][1] == 'l') { @@ -129,6 +129,8 @@ main(int argc, char** argv) from_string = true; ++a; break; + } else if (argv[a][1] == 't') { + writer_flags |= SERD_WRITE_TERSE; } else if (argv[a][1] == 'i') { if (++a == argc) { return missing_arg(argv[0], 'i'); @@ -205,10 +207,6 @@ main(int argc, char** argv) SerdWorld* world = serd_world_new(); SerdEnv* env = serd_env_new(base); - const SerdWriterFlags writer_flags = - ((ascii ? SERD_WRITE_ASCII : 0u) | // - (full_uris ? (SERD_WRITE_UNQUALIFIED | SERD_WRITE_UNRESOLVED) : 0u)); - const SerdSerialisationFlags serialisation_flags = no_inline ? SERD_NO_INLINE_OBJECTS : 0u; |