aboutsummaryrefslogtreecommitdiffstats
path: root/src/n3.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-07-11 16:26:18 -0400
committerDavid Robillard <d@drobilla.net>2022-01-14 01:13:45 -0500
commitc857c0ae873ea7558e8d702ae4c588a21c220409 (patch)
tree4832c0e8c4c2590f9b72f37a925a44f16d99f76a /src/n3.c
parent0825ceb561b2f52cfa253cb8bb0613896f903363 (diff)
downloadserd-c857c0ae873ea7558e8d702ae4c588a21c220409.tar.gz
serd-c857c0ae873ea7558e8d702ae4c588a21c220409.tar.bz2
serd-c857c0ae873ea7558e8d702ae4c588a21c220409.zip
Move SerdEnv mutation from writer to reader
Writing having side-effects seems questionable in general, and this prepares things for expanding URIs in the reader.
Diffstat (limited to 'src/n3.c')
-rw-r--r--src/n3.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/n3.c b/src/n3.c
index c91303d9..145a0400 100644
--- a/src/n3.c
+++ b/src/n3.c
@@ -1511,6 +1511,7 @@ read_base(SerdReader* const reader, const bool sparql, const bool token)
}
serd_node_zero_pad(uri);
+ TRY(st, serd_env_set_base_uri(reader->env, serd_node_string_view(uri)));
TRY(st, serd_sink_write_base(reader->sink, uri));
read_ws_star(reader);
@@ -1557,6 +1558,11 @@ read_prefixID(SerdReader* const reader, const bool sparql, const bool token)
serd_node_zero_pad(name);
serd_node_zero_pad(uri);
+
+ TRY(st,
+ serd_env_set_prefix(
+ reader->env, serd_node_string_view(name), serd_node_string_view(uri)));
+
st = serd_sink_write_prefix(reader->sink, name, uri);
if (!sparql) {