aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-06-03 12:49:44 +0200
committerDavid Robillard <d@drobilla.net>2018-12-31 11:37:47 -0500
commitc7571828dda66dcf4c49e8fd9e0427fc3d3b4464 (patch)
treecf35402b9034c2f17664ac95bf74f6020a20c7e5 /src
parentab3df0b39526d98236675d531cb931cea08d5f83 (diff)
downloadserd-c7571828dda66dcf4c49e8fd9e0427fc3d3b4464.tar.gz
serd-c7571828dda66dcf4c49e8fd9e0427fc3d3b4464.tar.bz2
serd-c7571828dda66dcf4c49e8fd9e0427fc3d3b4464.zip
Expand datatype of literal nodes in serd_env_expand_node
Diffstat (limited to 'src')
-rw-r--r--src/env.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/env.c b/src/env.c
index c9982c22..fe122c0a 100644
--- a/src/env.c
+++ b/src/env.c
@@ -235,6 +235,18 @@ serd_env_expand_node(const SerdEnv* env,
ret->n_bytes = len;
return ret;
}
+ case SERD_LITERAL:
+ if (serd_node_get_datatype(node)) {
+ SerdNode* datatype = serd_env_expand_node(
+ env, serd_node_get_datatype(node));
+ if (datatype) {
+ SerdNode* ret = serd_node_new_literal(
+ serd_node_get_string(node), datatype, NULL);
+ serd_node_free(datatype);
+ return ret;
+ }
+ }
+ return NULL;
case SERD_URI:
return serd_node_new_resolved_uri_i(
serd_node_get_string(node), &env->base_uri);