aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-06-13 15:18:27 -0400
committerDavid Robillard <d@drobilla.net>2018-11-25 22:12:47 +0100
commit29f0cefc019e8e93e8ae9bb016c8dc93711173a0 (patch)
tree84b24003561214f4e3444c4f926cea3ba70d2ef9
parent957fbbae9d51e3850f00ed109052ce7bab7087e0 (diff)
downloadserd-29f0cefc019e8e93e8ae9bb016c8dc93711173a0.tar.gz
serd-29f0cefc019e8e93e8ae9bb016c8dc93711173a0.tar.bz2
serd-29f0cefc019e8e93e8ae9bb016c8dc93711173a0.zip
Shorten node constructor names
-rw-r--r--NEWS2
-rw-r--r--serd/serd.h54
-rw-r--r--src/env.c14
-rw-r--r--src/node.c137
-rw-r--r--src/node.h2
-rw-r--r--src/serdi.c6
-rw-r--r--src/world.c2
-rw-r--r--tests/serd_test.c112
8 files changed, 180 insertions, 149 deletions
diff --git a/NEWS b/NEWS
index a21f95c0..236c4f3a 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,7 @@ serd (1.0.0) unstable;
* Remove serd_uri_to_path()
* Use SerdBuffer for mutable buffers instead of abusing SerdChunk
- * Add serd_node_new_relative_uri()
+ * Add serd_new_relative_uri()
* Fix construction and comparison of URIs with UTF-8 characters
* Use char* for strings in public API
* Remove useless character counting
diff --git a/serd/serd.h b/serd/serd.h
index 4ad187b0..7b295f7b 100644
--- a/serd/serd.h
+++ b/serd/serd.h
@@ -352,7 +352,7 @@ serd_strtod(const char* str, size_t* end);
/**
Decode a base64 string.
This function can be used to deserialise a blob node created with
- serd_node_new_blob().
+ serd_new_blob().
@param str Base64 string to decode.
@param len The length of `str`.
@@ -526,33 +526,42 @@ serd_uri_serialise_relative(const SerdURI* uri,
*/
SERD_API
SerdNode*
-serd_node_new_string(const char* str);
+serd_new_string(const char* str);
/**
- Create a new literal node from `str`.
+ Create a new plain literal node from `str`.
- Either `datatype` or `lang` can be given, but not both, unless `datatype` is
- rdf:langString in which case it is ignored.
+ A plain literal has no datatype, but may have a language tag. The `lang`
+ may be NULL, in which case this is equivalent to `serd_new_string()`.
*/
SERD_API
SerdNode*
-serd_node_new_literal(const char* str,
- const SerdNode* datatype,
- const char* lang);
+serd_new_plain_literal(const char* str, const char* lang);
+
+/**
+ Create a new typed literal node from `str`.
+
+ A typed literal has no language tag, but may have a datatype. The
+ `datatype` may be NULL, in which case this is equivalent to
+ `serd_new_string()`.
+*/
+SERD_API
+SerdNode*
+serd_new_typed_literal(const char* str, const SerdNode* datatype);
/**
Create a new blank node.
*/
SERD_API
SerdNode*
-serd_node_new_blank(const char* str);
+serd_new_blank(const char* str);
/**
Create a new CURIE node.
*/
SERD_API
SerdNode*
-serd_node_new_curie(const char* str);
+serd_new_curie(const char* str);
/**
Return a deep copy of `node`.
@@ -573,14 +582,14 @@ serd_node_equals(const SerdNode* a, const SerdNode* b);
*/
SERD_API
SerdNode*
-serd_node_new_uri(const char* str);
+serd_new_uri(const char* str);
/**
Create a new URI from a string, resolved against a base URI.
*/
SERD_API
SerdNode*
-serd_node_new_resolved_uri(const char* str, const SerdNode* base);
+serd_new_resolved_uri(const char* str, const SerdNode* base);
/**
Resolve `node` against `base`.
@@ -603,7 +612,7 @@ serd_node_resolve(const SerdNode* node, const SerdNode* base);
*/
SERD_API
SerdNode*
-serd_node_new_file_uri(const char* path, const char* hostname, bool escape);
+serd_new_file_uri(const char* path, const char* hostname, bool escape);
/**
Create a new URI from a string, relative to a base URI.
@@ -620,9 +629,9 @@ serd_node_new_file_uri(const char* path, const char* hostname, bool escape);
*/
SERD_API
SerdNode*
-serd_node_new_relative_uri(const char* str,
- const SerdNode* base,
- const SerdNode* root);
+serd_new_relative_uri(const char* str,
+ const SerdNode* base,
+ const SerdNode* root);
/**
Create a new node by serialising `d` into an xsd:decimal string.
@@ -645,7 +654,7 @@ serd_node_new_relative_uri(const char* str,
*/
SERD_API
SerdNode*
-serd_node_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype);
+serd_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype);
/**
Create a new node by serialising `i` into an xsd:integer string.
@@ -657,7 +666,7 @@ serd_node_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype);
*/
SERD_API
SerdNode*
-serd_node_new_integer(int64_t i, const SerdNode* datatype);
+serd_new_integer(int64_t i, const SerdNode* datatype);
/**
Create a node by serialising `buf` into an xsd:base64Binary string.
@@ -674,10 +683,11 @@ serd_node_new_integer(int64_t i, const SerdNode* datatype);
type xsd:base64Binary.
*/
SERD_API
-SerdNode* serd_node_new_blob(const void* buf,
- size_t size,
- bool wrap_lines,
- const SerdNode* datatype);
+SerdNode*
+serd_new_blob(const void* buf,
+ size_t size,
+ bool wrap_lines,
+ const SerdNode* datatype);
/**
Return the type of a node (SERD_URI, SERD_BLANK, or SERD_LITERAL).
diff --git a/src/env.c b/src/env.c
index fe122c0a..262a1ba7 100644
--- a/src/env.c
+++ b/src/env.c
@@ -80,7 +80,7 @@ serd_env_set_base_uri(SerdEnv* env,
}
// Resolve base URI and create a new node and URI for it
- SerdNode* base_uri_node = serd_node_new_resolved_uri_i(
+ SerdNode* base_uri_node = serd_new_resolved_uri_i(
serd_node_get_string(uri), &env->base_uri);
SerdURI base_uri;
@@ -145,7 +145,7 @@ serd_env_set_prefix(SerdEnv* env,
serd_env_add(env, name, uri);
} else {
// Resolve relative URI and create a new node and URI for it
- SerdNode* abs_uri = serd_node_new_resolved_uri_i(
+ SerdNode* abs_uri = serd_new_resolved_uri_i(
serd_node_get_string(uri), &env->base_uri);
// Set prefix to resolved (absolute) URI
@@ -160,8 +160,8 @@ serd_env_set_prefix_from_strings(SerdEnv* env,
const char* name,
const char* uri)
{
- SerdNode* name_node = serd_node_new_string(name);
- SerdNode* uri_node = serd_node_new_uri(uri);
+ SerdNode* name_node = serd_new_string(name);
+ SerdNode* uri_node = serd_new_uri(uri);
const SerdStatus st = serd_env_set_prefix(env, name_node, uri_node);
@@ -240,15 +240,15 @@ serd_env_expand_node(const SerdEnv* env,
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);
+ SerdNode* ret = serd_new_typed_literal(
+ serd_node_get_string(node), datatype);
serd_node_free(datatype);
return ret;
}
}
return NULL;
case SERD_URI:
- return serd_node_new_resolved_uri_i(
+ return serd_new_resolved_uri_i(
serd_node_get_string(node), &env->base_uri);
default:
return NULL;
diff --git a/src/node.c b/src/node.c
index 3c214afc..13b13f65 100644
--- a/src/node.c
+++ b/src/node.c
@@ -53,7 +53,7 @@ DEFINE_XSD_NODE(integer)
DEFINE_XSD_NODE(base64Binary)
static SerdNode*
-serd_node_new_from_uri(const SerdURI* uri, const SerdURI* base);
+serd_new_from_uri(const SerdURI* uri, const SerdURI* base);
static size_t
serd_node_pad_size(const size_t n_bytes)
@@ -136,7 +136,7 @@ serd_node_set(SerdNode** dst, const SerdNode* src)
}
static SerdNode*
-serd_node_new_simple(SerdType type, const char* str)
+serd_new_simple(SerdType type, const char* str)
{
if (!str) {
return NULL;
@@ -151,7 +151,7 @@ serd_node_new_simple(SerdType type, const char* str)
}
SerdNode*
-serd_node_new_string(const char* str)
+serd_new_string(const char* str)
{
if (!str) {
return NULL;
@@ -167,15 +167,47 @@ serd_node_new_string(const char* str)
}
SerdNode*
-serd_node_new_literal(const char* str,
- const SerdNode* datatype,
- const char* lang)
+serd_new_plain_literal(const char* str, const char* lang)
+{
+ if (!str) {
+ return NULL;
+ } else if (!lang) {
+ return serd_new_string(str);
+ }
+
+ uint32_t flags = 0;
+ const size_t n_bytes = serd_strlen(str, &flags);
+ const size_t len = serd_node_pad_size(n_bytes);
+
+ SerdNode* node = NULL;
+ const size_t lang_len = strlen(lang);
+ const size_t total_len = len + sizeof(SerdNode) + lang_len;
+ flags |= SERD_HAS_LANGUAGE;
+ node = serd_node_malloc(total_len, flags, SERD_LITERAL);
+ memcpy(serd_node_buffer(node), str, n_bytes);
+ node->n_bytes = n_bytes;
+
+ SerdNode* lang_node = node + 1 + (len / serd_node_align);
+ lang_node->type = SERD_LITERAL;
+ lang_node->n_bytes = lang_len;
+ memcpy(serd_node_buffer(lang_node), lang, lang_len);
+ serd_node_check_padding(lang_node);
+
+ serd_node_check_padding(node);
+ return node;
+}
+
+SerdNode*
+serd_new_typed_literal(const char* str, const SerdNode* datatype)
{
serd_node_check_padding(datatype);
- if (!str || (lang && datatype &&
- strcmp(serd_node_buffer_c(datatype), NS_RDF "#langString")) ||
- (datatype && serd_node_get_type(datatype) != SERD_URI)) {
+ if (!str) {
+ return NULL;
+ } else if (!datatype) {
+ return serd_new_string(str);
+ } else if (!strcmp(serd_node_buffer_c(datatype), NS_RDF "#langString") ||
+ serd_node_get_type(datatype) != SERD_URI) {
return NULL;
}
@@ -184,56 +216,37 @@ serd_node_new_literal(const char* str,
const size_t len = serd_node_pad_size(n_bytes);
SerdNode* node = NULL;
- if (lang) {
- flags |= SERD_HAS_LANGUAGE;
- const size_t lang_len = strlen(lang);
- const size_t total_len = len + sizeof(SerdNode) + lang_len;
- node = serd_node_malloc(total_len, flags, SERD_LITERAL);
- memcpy(serd_node_buffer(node), str, n_bytes);
- node->n_bytes = n_bytes;
-
- SerdNode* lang_node = node + 1 + (len / serd_node_align);
- lang_node->type = SERD_LITERAL;
- lang_node->n_bytes = lang_len;
- memcpy(serd_node_buffer(lang_node), lang, lang_len);
- serd_node_check_padding(lang_node);
- } else if (datatype) {
- flags |= SERD_HAS_DATATYPE;
- const size_t datatype_len = strlen(serd_node_buffer_c(datatype));
- const size_t total_len = len + sizeof(SerdNode) + datatype_len;
- node = serd_node_malloc(total_len, flags, SERD_LITERAL);
- memcpy(serd_node_buffer(node), str, n_bytes);
- node->n_bytes = n_bytes;
-
- SerdNode* datatype_node = node + 1 + (len / serd_node_align);
- memcpy(datatype_node, datatype, sizeof(SerdNode) + datatype_len);
- serd_node_check_padding(datatype_node);
- } else {
- node = serd_node_malloc(n_bytes, flags, SERD_LITERAL);
- memcpy(serd_node_buffer(node), str, n_bytes);
- node->n_bytes = n_bytes;
- }
+ const size_t datatype_len = strlen(serd_node_buffer_c(datatype));
+ const size_t total_len = len + sizeof(SerdNode) + datatype_len;
+ flags |= SERD_HAS_DATATYPE;
+ node = serd_node_malloc(total_len, flags, SERD_LITERAL);
+ memcpy(serd_node_buffer(node), str, n_bytes);
+ node->n_bytes = n_bytes;
+
+ SerdNode* datatype_node = node + 1 + (len / serd_node_align);
+ memcpy(datatype_node, datatype, sizeof(SerdNode) + datatype_len);
+ serd_node_check_padding(datatype_node);
serd_node_check_padding(node);
return node;
}
SerdNode*
-serd_node_new_blank(const char* str)
+serd_new_blank(const char* str)
{
- return serd_node_new_simple(SERD_BLANK, str);
+ return serd_new_simple(SERD_BLANK, str);
}
SerdNode*
-serd_node_new_curie(const char* str)
+serd_new_curie(const char* str)
{
- return serd_node_new_simple(SERD_CURIE, str);
+ return serd_new_simple(SERD_CURIE, str);
}
SerdNode*
-serd_node_new_uri(const char* str)
+serd_new_uri(const char* str)
{
- return serd_node_new_simple(SERD_URI, str);
+ return serd_new_simple(SERD_URI, str);
}
/**
@@ -315,7 +328,7 @@ string_sink(const void* buf, size_t size, size_t nmemb, void* stream)
}
SerdNode*
-serd_node_new_resolved_uri(const char* str, const SerdNode* base)
+serd_new_resolved_uri(const char* str, const SerdNode* base)
{
if (!base || base->type != SERD_URI) {
return NULL;
@@ -323,7 +336,7 @@ serd_node_new_resolved_uri(const char* str, const SerdNode* base)
SerdURI base_uri;
serd_uri_parse(serd_node_get_string(base), &base_uri);
- return serd_node_new_resolved_uri_i(str, &base_uri);
+ return serd_new_resolved_uri_i(str, &base_uri);
}
SerdNode*
@@ -338,20 +351,20 @@ serd_node_resolve(const SerdNode* node, const SerdNode* base)
serd_uri_parse(serd_node_get_string(node), &uri);
serd_uri_parse(serd_node_get_string(base), &base_uri);
- return serd_node_new_from_uri(&uri, &base_uri);
+ return serd_new_from_uri(&uri, &base_uri);
}
SerdNode*
-serd_node_new_resolved_uri_i(const char* str, const SerdURI* base)
+serd_new_resolved_uri_i(const char* str, const SerdURI* base)
{
if (!str || str[0] == '\0') {
// Empty URI => Base URI, or nothing if no base is given
- return base ? serd_node_new_from_uri(base, NULL) : NULL;
+ return base ? serd_new_from_uri(base, NULL) : NULL;
}
SerdURI uri;
serd_uri_parse(str, &uri);
- return serd_node_new_from_uri(&uri, base);
+ return serd_new_from_uri(&uri, base);
}
static inline bool
@@ -374,7 +387,7 @@ is_uri_path_char(const char c)
}
SerdNode*
-serd_node_new_file_uri(const char* path, const char* hostname, bool escape)
+serd_new_file_uri(const char* path, const char* hostname, bool escape)
{
const size_t path_len = strlen(path);
const size_t hostname_len = hostname ? strlen(hostname) : 0;
@@ -405,14 +418,14 @@ serd_node_new_file_uri(const char* path, const char* hostname, bool escape)
}
serd_buffer_sink_finish(&buffer);
- SerdNode* node = serd_node_new_uri((const char*)buffer.buf);
+ SerdNode* node = serd_new_uri((const char*)buffer.buf);
free(buffer.buf);
serd_node_check_padding(node);
return node;
}
static SerdNode*
-serd_node_new_from_uri(const SerdURI* uri, const SerdURI* base)
+serd_new_from_uri(const SerdURI* uri, const SerdURI* base)
{
SerdURI abs_uri = *uri;
if (base) {
@@ -432,9 +445,9 @@ serd_node_new_from_uri(const SerdURI* uri, const SerdURI* base)
}
SerdNode*
-serd_node_new_relative_uri(const char* str,
- const SerdNode* base,
- const SerdNode* root)
+serd_new_relative_uri(const char* str,
+ const SerdNode* base,
+ const SerdNode* root)
{
SerdURI uri = SERD_URI_NULL;
SerdURI base_uri = SERD_URI_NULL;
@@ -470,7 +483,7 @@ serd_digits(double abs)
}
SerdNode*
-serd_node_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype)
+serd_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype)
{
if (isnan(d) || isinf(d)) {
return NULL;
@@ -533,7 +546,7 @@ serd_node_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype)
}
SerdNode*
-serd_node_new_integer(int64_t i, const SerdNode* datatype)
+serd_new_integer(int64_t i, const SerdNode* datatype)
{
const SerdNode* type = datatype ? datatype : &serd_xsd_integer.node;
int64_t abs_i = (i < 0) ? -i : i;
@@ -565,10 +578,10 @@ serd_node_new_integer(int64_t i, const SerdNode* datatype)
}
SerdNode*
-serd_node_new_blob(const void* buf,
- size_t size,
- bool wrap_lines,
- const SerdNode* datatype)
+serd_new_blob(const void* buf,
+ size_t size,
+ bool wrap_lines,
+ const SerdNode* datatype)
{
if (!buf || !size) {
return NULL;
diff --git a/src/node.h b/src/node.h
index 31e5d615..dec63823 100644
--- a/src/node.h
+++ b/src/node.h
@@ -43,6 +43,6 @@ serd_node_buffer_c(const SerdNode* node)
SerdNode* serd_node_malloc(size_t n_bytes, SerdNodeFlags flags, SerdType type);
void serd_node_set(SerdNode** dst, const SerdNode* src);
void serd_node_zero_pad(SerdNode* node);
-SerdNode* serd_node_new_resolved_uri_i(const char* str, const SerdURI* base);
+SerdNode* serd_new_resolved_uri_i(const char* str, const SerdURI* base);
#endif // SERD_NODE_H
diff --git a/src/serdi.c b/src/serdi.c
index a7fb802d..8a9e0c79 100644
--- a/src/serdi.c
+++ b/src/serdi.c
@@ -184,9 +184,9 @@ main(int argc, char** argv)
SerdNode* base = NULL;
if (a < argc) { // Base URI given on command line
- base = serd_node_new_uri((const char*)argv[a]);
+ base = serd_new_uri((const char*)argv[a]);
} else if (!from_string && !from_stdin) { // Use input file URI
- base = serd_node_new_file_uri(input, NULL, true);
+ base = serd_new_file_uri(input, NULL, true);
}
FILE* out_fd = stdout;
@@ -228,7 +228,7 @@ main(int argc, char** argv)
serd_world_set_error_sink(world, quiet_error_sink, NULL);
}
- SerdNode* root = serd_node_new_uri(root_uri);
+ SerdNode* root = serd_new_uri(root_uri);
serd_writer_set_root_uri(writer, root);
serd_writer_chop_blank_prefix(writer, chop_prefix);
serd_reader_add_blank_prefix(reader, add_prefix);
diff --git a/src/world.c b/src/world.c
index 205646f2..2a89993f 100644
--- a/src/world.c
+++ b/src/world.c
@@ -76,7 +76,7 @@ serd_world_new(void)
{
SerdWorld* world = (SerdWorld*)calloc(1, sizeof(SerdWorld));
- world->blank_node = serd_node_new_blank("b0000000000");
+ world->blank_node = serd_new_blank("b0000000000");
return world;
}
diff --git a/tests/serd_test.c b/tests/serd_test.c
index 3475d08e..857dd89b 100644
--- a/tests/serd_test.c
+++ b/tests/serd_test.c
@@ -90,7 +90,7 @@ check_file_uri(const char* hostname,
expected_path = path;
}
- SerdNode* node = serd_node_new_file_uri(path, hostname, escape);
+ SerdNode* node = serd_new_file_uri(path, hostname, escape);
const char* node_str = serd_node_get_string(node);
char* out_hostname = NULL;
char* out_path = serd_file_uri_parse(node_str, &out_hostname);
@@ -118,7 +118,7 @@ check_rel_uri(const char* uri,
const SerdNode* root,
const char* expected)
{
- SerdNode* rel = serd_node_new_relative_uri(uri, base, root);
+ SerdNode* rel = serd_new_relative_uri(uri, base, root);
const int ret = strcmp(serd_node_get_string(rel), expected);
serd_node_free(rel);
if (ret) {
@@ -160,7 +160,7 @@ main(void)
}
}
- // Test serd_node_new_decimal
+ // Test serd_new_decimal
const double dbl_test_nums[] = {
0.0, 9.0, 10.0, .01, 2.05, -16.00001, 5.000000005, 0.0000000001, NAN, INFINITY
@@ -171,7 +171,7 @@ main(void)
};
for (unsigned i = 0; i < sizeof(dbl_test_nums) / sizeof(double); ++i) {
- SerdNode* node = serd_node_new_decimal(dbl_test_nums[i], 8, NULL);
+ SerdNode* node = serd_new_decimal(dbl_test_nums[i], 8, NULL);
const char* node_str = serd_node_get_string(node);
const bool pass = (node_str && dbl_test_strs[i])
? !strcmp(node_str, dbl_test_strs[i])
@@ -190,7 +190,7 @@ main(void)
serd_node_free(node);
}
- // Test serd_node_new_integer
+ // Test serd_new_integer
const long int_test_nums[] = {
0, -0, -23, 23, -12340, 1000, -1000
@@ -201,7 +201,7 @@ main(void)
};
for (unsigned i = 0; i < sizeof(int_test_nums) / sizeof(double); ++i) {
- SerdNode* node = serd_node_new_integer(int_test_nums[i], NULL);
+ SerdNode* node = serd_new_integer(int_test_nums[i], NULL);
const char* node_str = serd_node_get_string(node);
if (strcmp(node_str, (const char*)int_test_strs[i])) {
FAILF("Serialised `%s' != %s\n", node_str, int_test_strs[i]);
@@ -216,7 +216,7 @@ main(void)
serd_node_free(node);
}
- // Test serd_node_new_blob
+ // Test serd_new_blob
for (size_t size = 1; size < 256; ++size) {
uint8_t* data = (uint8_t*)malloc(size);
for (size_t i = 0; i < size; ++i) {
@@ -224,7 +224,7 @@ main(void)
}
size_t out_size;
- SerdNode* blob = serd_node_new_blob(data, size, size % 5, NULL);
+ SerdNode* blob = serd_new_blob(data, size, size % 5, NULL);
const char* blob_str = serd_node_get_string(blob);
uint8_t* out = (uint8_t*)serd_base64_decode(
blob_str, serd_node_get_length(blob), &out_size);
@@ -309,14 +309,14 @@ main(void)
// Test serd_node_equals
const uint8_t replacement_char_str[] = { 0xEF, 0xBF, 0xBD, 0 };
- SerdNode* lhs = serd_node_new_string((const char*)replacement_char_str);
- SerdNode* rhs = serd_node_new_string("123");
+ SerdNode* lhs = serd_new_string((const char*)replacement_char_str);
+ SerdNode* rhs = serd_new_string("123");
if (serd_node_equals(lhs, rhs)) {
FAILF("%s == %s\n",
serd_node_get_string(lhs), serd_node_get_string(rhs));
}
- SerdNode* qnode = serd_node_new_curie("foo:bar");
+ SerdNode* qnode = serd_new_curie("foo:bar");
if (serd_node_equals(lhs, qnode)) {
FAILF("%s == %s\n",
serd_node_get_string(lhs), serd_node_get_string(qnode));
@@ -335,34 +335,43 @@ main(void)
serd_node_free(lhs);
serd_node_free(rhs);
- // Test serd_node_new_string
+ // Test serd_new_string
- SerdNode* hello = serd_node_new_string("hello\"");
+ SerdNode* hello = serd_new_string("hello\"");
if (serd_node_get_length(hello) != 6 ||
serd_node_get_flags(hello) != SERD_HAS_QUOTE ||
strcmp(serd_node_get_string(hello), "hello\"")) {
FAILF("Bad node %s\n", serd_node_get_string(hello));
}
- if (serd_node_new_string(NULL)) {
+ if (serd_new_string(NULL)) {
FAIL("Successfully created node from NULL string\n");
}
- // Test serd_node_new_literal
+ // Test serd_new_literal
- if (serd_node_new_literal(NULL, NULL, NULL)) {
- FAIL("Successfully created node from NULL string\n");
+ if (serd_new_plain_literal(NULL, NULL)) {
+ FAIL("Successfully created plain literal from NULL string\n");
+ } else if (serd_new_typed_literal(NULL, NULL)) {
+ FAIL("Successfully created typed literal from NULL string\n");
}
- SerdNode* hello2 = serd_node_new_literal("hello\"", NULL, NULL);
+ SerdNode* hello2 = serd_new_string("hello\"");
if (serd_node_get_length(hello2) != 6 ||
serd_node_get_flags(hello2) != SERD_HAS_QUOTE ||
strcmp(serd_node_get_string(hello2), "hello\"")) {
FAILF("Bad node %s\n", serd_node_get_string(hello2));
}
+
+ SerdNode* hello3 = serd_new_plain_literal("hello\"", NULL);
+ if (!serd_node_equals(hello2, hello3)) {
+ FAIL("Plain literal does not match equivalent string\n");
+ }
+
+ serd_node_free(hello3);
serd_node_free(hello2);
- SerdNode* hello_l = serd_node_new_literal("hello_l\"", NULL, "en");
+ SerdNode* hello_l = serd_new_plain_literal("hello_l\"", "en");
if (serd_node_get_length(hello_l) != 8 ||
strcmp(serd_node_get_string(hello_l), "hello_l\"") ||
serd_node_get_flags(hello_l) != (SERD_HAS_QUOTE | SERD_HAS_LANGUAGE) ||
@@ -371,11 +380,10 @@ main(void)
}
serd_node_free(hello_l);
- SerdNode* eg_Thing = serd_node_new_uri("http://example.org/Thing");
+ SerdNode* eg_Thing = serd_new_uri("http://example.org/Thing");
- SerdNode* hello_dt =
- serd_node_new_literal("hello_dt\"", eg_Thing, NULL);
- if (serd_node_get_length(hello_dt) != 9 ||
+ SerdNode* hello_dt = serd_new_typed_literal("hello_dt\"", eg_Thing);
+ if (serd_node_get_length(hello_dt) != 9 ||
strcmp(serd_node_get_string(hello_dt), "hello_dt\"") ||
serd_node_get_flags(hello_dt) != (SERD_HAS_QUOTE | SERD_HAS_DATATYPE) ||
strcmp(serd_node_get_string(serd_node_get_datatype(hello_dt)),
@@ -387,18 +395,18 @@ main(void)
// Test absolute URI creation
- if (serd_node_new_uri(NULL)) {
+ if (serd_new_uri(NULL)) {
FAIL("Successfully created NULL URI\n");
}
- SerdNode* not_a_uri = serd_node_new_string("hello");
- SerdNode* root = serd_node_new_uri("http://example.org/a/b/");
- SerdNode* base = serd_node_new_uri("http://example.org/a/b/c/");
- SerdNode* nil = serd_node_new_resolved_uri(NULL, base);
- SerdNode* nil2 = serd_node_new_resolved_uri("", base);
- if (serd_node_new_resolved_uri("", NULL)) {
+ SerdNode* not_a_uri = serd_new_string("hello");
+ SerdNode* root = serd_new_uri("http://example.org/a/b/");
+ SerdNode* base = serd_new_uri("http://example.org/a/b/c/");
+ SerdNode* nil = serd_new_resolved_uri(NULL, base);
+ SerdNode* nil2 = serd_new_resolved_uri("", base);
+ if (serd_new_resolved_uri("", NULL)) {
FAIL("Successfully created URI resolved against NULL\n");
- } else if (serd_node_new_resolved_uri("", not_a_uri)) {
+ } else if (serd_new_resolved_uri("", not_a_uri)) {
FAIL("Successfully created URI resolved against non-URI\n");
} else if (serd_node_get_type(nil) != SERD_URI ||
strcmp(serd_node_get_string(nil), serd_node_get_string(base)) ||
@@ -434,7 +442,7 @@ main(void)
FAIL("Successfully resolved against a non-URI\n");
}
- SerdNode* rel = serd_node_new_relative_uri(
+ SerdNode* rel = serd_new_relative_uri(
"http://example.org/a/b/c/foo", base, NULL);
SerdNode* resolved = serd_node_resolve(rel, base);
if (strcmp(serd_node_get_string(resolved),
@@ -451,13 +459,13 @@ main(void)
serd_node_free(base);
serd_node_free(root);
- // Test serd_node_new_blank
+ // Test serd_new_blank
- if (serd_node_new_blank(NULL)) {
+ if (serd_new_blank(NULL)) {
FAIL("Successfully created blank node from NULL string\n");
}
- SerdNode* blank = serd_node_new_blank("b0");
+ SerdNode* blank = serd_new_blank("b0");
if (serd_node_get_length(blank) != 2 ||
serd_node_get_flags(blank) != 0 ||
strcmp(serd_node_get_string(blank), "b0")) {
@@ -469,9 +477,9 @@ main(void)
SerdWorld* world = serd_world_new();
- SerdNode* u = serd_node_new_uri("http://example.org/foo");
- SerdNode* b = serd_node_new_curie("invalid");
- SerdNode* c = serd_node_new_curie("eg.2:b");
+ SerdNode* u = serd_new_uri("http://example.org/foo");
+ SerdNode* b = serd_new_curie("invalid");
+ SerdNode* c = serd_new_curie("eg.2:b");
SerdEnv* env = serd_env_new(NULL);
serd_env_set_prefix_from_strings(env, "eg.2", "http://example.org/");
@@ -509,7 +517,7 @@ main(void)
}
serd_node_free(xu);
- SerdNode* badpre = serd_node_new_curie("hm:what");
+ SerdNode* badpre = serd_new_curie("hm:what");
SerdNode* xbadpre = serd_env_expand_node(env, badpre);
if (xbadpre) {
FAILF("Expanded invalid curie %s\n", serd_node_get_string(badpre));
@@ -527,7 +535,7 @@ main(void)
FAIL("Set NULL prefix\n");
}
- SerdNode* lit = serd_node_new_string("hello");
+ SerdNode* lit = serd_new_string("hello");
if (!serd_env_set_prefix(env, b, lit)) {
FAIL("Set prefix to literal\n");
}
@@ -539,7 +547,7 @@ main(void)
FAILF("Bad prefix count %d\n", n_prefixes);
}
- SerdNode* shorter_uri = serd_node_new_uri("urn:foo");
+ SerdNode* shorter_uri = serd_new_uri("urn:foo");
const SerdNode* prefix_name;
if (serd_env_qualify(env, shorter_uri, &prefix_name, &suffix)) {
FAILF("Qualified %s\n", serd_node_get_string(shorter_uri));
@@ -583,9 +591,9 @@ main(void)
}
uint8_t buf[] = { 0xEF, 0xBF, 0xBD, 0 };
- SerdNode* s = serd_node_new_uri("");
- SerdNode* p = serd_node_new_uri("http://example.org/pred");
- SerdNode* o = serd_node_new_string((char*)buf);
+ SerdNode* s = serd_new_uri("");
+ SerdNode* p = serd_new_uri("http://example.org/pred");
+ SerdNode* o = serd_new_string((char*)buf);
// Write 3 invalid statements (should write nothing)
const SerdNode* junk[][5] = { { s, p, NULL },
@@ -605,10 +613,10 @@ main(void)
}
}
- SerdNode* urn_Type = serd_node_new_uri("urn:Type");
+ SerdNode* urn_Type = serd_new_uri("urn:Type");
- SerdNode* t = serd_node_new_literal((char*)buf, urn_Type, NULL);
- SerdNode* l = serd_node_new_literal((char*)buf, NULL, "en");
+ SerdNode* t = serd_new_typed_literal((char*)buf, urn_Type);
+ SerdNode* l = serd_new_plain_literal((char*)buf, "en");
const SerdNode* good[][5] = { { s, p, o },
{ s, p, o },
{ s, p, t },
@@ -628,8 +636,8 @@ main(void)
// Write statements with bad UTF-8 (should be replaced)
const char bad_str[] = { (char)0xFF, (char)0x90, 'h', 'i', 0 };
- SerdNode* bad_lit = serd_node_new_string(bad_str);
- SerdNode* bad_uri = serd_node_new_uri(bad_str);
+ SerdNode* bad_lit = serd_new_string(bad_str);
+ SerdNode* bad_uri = serd_new_uri(bad_str);
if (serd_sink_write_nodes(iface, 0, s, p, bad_lit, 0)) {
FAIL("Failed to write junk UTF-8 literal\n");
} else if (serd_sink_write_nodes(iface, 0, s, p, bad_uri, 0)) {
@@ -640,7 +648,7 @@ main(void)
// Write 1 valid statement
serd_node_free(o);
- o = serd_node_new_string("hello");
+ o = serd_new_string("hello");
if (serd_sink_write_nodes(iface, 0, s, p, o, 0)) {
FAIL("Failed to write valid statement\n");
}
@@ -659,7 +667,7 @@ main(void)
writer = serd_writer_new(
world, SERD_TURTLE, (SerdStyle)0, env, serd_buffer_sink, &buffer);
- o = serd_node_new_uri("http://example.org/base");
+ o = serd_new_uri("http://example.org/base");
if (serd_writer_set_base_uri(writer, o)) {
FAIL("Failed to write to chunk sink\n");
}
@@ -684,7 +692,7 @@ main(void)
FAIL("Failed to create reader\n");
}
- SerdNode* g = serd_node_new_uri("http://example.org/");
+ SerdNode* g = serd_new_uri("http://example.org/");
serd_reader_set_default_graph(reader, g);
serd_reader_add_blank_prefix(reader, "tmp");
serd_reader_add_blank_prefix(reader, NULL);