From cb070da4ff22be3f6561bda76545a03737d1e16c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 4 Feb 2018 15:33:36 +0100 Subject: Use opaque node API --- src/node.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/node.c') diff --git a/src/node.c b/src/node.c index e0c1e7b3..1240ee6e 100644 --- a/src/node.c +++ b/src/node.c @@ -30,6 +30,12 @@ # endif #endif +char* +serd_node_buffer(SerdNode* node) +{ + return (char*)(node + 1); +} + SerdNode serd_node_from_string(SerdType type, const char* str) { @@ -112,8 +118,9 @@ serd_node_new_uri_from_node(const SerdNode* uri_node, const SerdURI* base, SerdURI* out) { - return (uri_node->type == SERD_URI && uri_node->buf) - ? serd_node_new_uri_from_string(uri_node->buf, base, out) + const char* uri_str = serd_node_get_string(uri_node); + return (uri_node->type == SERD_URI && uri_str) + ? serd_node_new_uri_from_string(uri_str, base, out) : SERD_NODE_NULL; } @@ -379,13 +386,13 @@ serd_node_get_type(const SerdNode* node) const char* serd_node_get_string(const SerdNode* node) { - return node->buf; + return node ? node->buf : NULL; } size_t serd_node_get_length(const SerdNode* node) { - return node->n_bytes; + return node ? node->n_bytes : 0; } SerdNodeFlags -- cgit v1.2.1