From 40a83074705976ea59f0e1a5d06a4e5c7705472c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 20 Jun 2020 20:58:27 +0200 Subject: Make const Env functions tolerant of NULL This is convenient in places where you don't necessarily need an Env, since in this case these methods work the same as if with an empty Env. --- src/env.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/env.c b/src/env.c index 29df5286..49d2efa2 100644 --- a/src/env.c +++ b/src/env.c @@ -115,7 +115,7 @@ serd_env_base_uri_view(const SerdEnv* env) const SerdNode* serd_env_base_uri(const SerdEnv* env) { - return env->base_uri_node; + return env ? env->base_uri_node : NULL; } SerdStatus @@ -202,6 +202,10 @@ serd_env_qualify_in_place(const SerdEnv* env, const SerdNode** prefix, SerdStringView* suffix) { + if (!env) { + return false; + } + for (size_t i = 0; i < env->n_prefixes; ++i) { const SerdNode* const prefix_uri = env->prefixes[i].uri; if (uri->n_bytes >= prefix_uri->n_bytes) { @@ -244,6 +248,10 @@ serd_env_expand_in_place(const SerdEnv* env, SerdStringView* uri_prefix, SerdStringView* uri_suffix) { + if (!env) { + return SERD_ERR_BAD_CURIE; + } + const char* const str = serd_node_string(curie); const char* const colon = (const char*)memchr(str, ':', curie->n_bytes + 1); if (curie->type != SERD_CURIE || !colon) { -- cgit v1.2.1