aboutsummaryrefslogtreecommitdiffstats
path: root/src/describe.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-08-13 17:07:23 -0400
committerDavid Robillard <d@drobilla.net>2022-01-28 21:57:07 -0500
commit776a198a686b4eeb824dc520ed12f169ac7e1e65 (patch)
tree21daa2f161dedc250a823746a9d7357630253cd1 /src/describe.c
parent196db2ef0cd44c3fb542b86be7929bd01d83e138 (diff)
downloadserd-776a198a686b4eeb824dc520ed12f169ac7e1e65.tar.gz
serd-776a198a686b4eeb824dc520ed12f169ac7e1e65.tar.bz2
serd-776a198a686b4eeb824dc520ed12f169ac7e1e65.zip
Remove SERD_NO_INLINE_OBJECTS
This seems like pointless complexity now, since it's easy to just write simply ordered statements yourself.
Diffstat (limited to 'src/describe.c')
-rw-r--r--src/describe.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/src/describe.c b/src/describe.c
index 9328f261..4a087222 100644
--- a/src/describe.c
+++ b/src/describe.c
@@ -289,31 +289,20 @@ serd_describe_range(const SerdCursor* const range,
const SerdSink* sink,
const SerdDescribeFlags flags)
{
- assert(sink);
-
- SerdStatus st = SERD_SUCCESS;
-
if (serd_cursor_is_end(range)) {
- return st;
+ return SERD_SUCCESS;
}
- SerdCursor copy = *range;
+ assert(sink);
- if (flags & SERD_NO_INLINE_OBJECTS) {
- const SerdStatement* statement = NULL;
- while (!st && (statement = serd_cursor_get(&copy))) {
- if (!(st = serd_sink_write_statement(sink, 0, statement))) {
- st = serd_cursor_advance(&copy);
- }
- }
- } else {
- DescribeContext ctx = {
- range->model, sink, zix_hash_new(identity, ptr_hash, ptr_equals), flags};
+ SerdStatus st = SERD_SUCCESS;
+ SerdCursor copy = *range;
+ ZixHash* const list_subjects = zix_hash_new(identity, ptr_hash, ptr_equals);
+ DescribeContext ctx = {range->model, sink, list_subjects, flags};
- st = write_pretty_range(&ctx, 0, &copy, NULL, (flags & SERD_NO_TYPE_FIRST));
+ st = write_pretty_range(&ctx, 0, &copy, NULL, (flags & SERD_NO_TYPE_FIRST));
- zix_hash_free(ctx.list_subjects);
- }
+ zix_hash_free(list_subjects);
return st;
}