summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sratom/sratom.c4
-rw-r--r--src/state.c33
2 files changed, 14 insertions, 23 deletions
diff --git a/src/sratom/sratom.c b/src/sratom/sratom.c
index 2117705..1e74067 100644
--- a/src/sratom/sratom.c
+++ b/src/sratom/sratom.c
@@ -206,7 +206,7 @@ sratom_write(Sratom* sratom,
const uint8_t* str = USTR(body);
if (path_is_absolute((const char*)str)) {
new_node = true;
- object = serd_node_new_uri_from_path(str, NULL, NULL);
+ object = serd_node_new_file_uri(str, NULL, NULL);
} else {
SerdEnv* env = serd_writer_get_env(writer);
SerdURI base_uri = SERD_URI_NULL;
@@ -218,7 +218,7 @@ sratom_write(Sratom* sratom,
datatype = serd_node_from_string(SERD_URI, USTR(LV2_ATOM__Path));
} else {
new_node = true;
- SerdNode rel = serd_node_new_uri_from_path(str, NULL, NULL);
+ SerdNode rel = serd_node_new_file_uri(str, NULL, NULL);
object = serd_node_new_uri_from_node(&rel, &base_uri, NULL);
serd_node_free(&rel);
}
diff --git a/src/state.c b/src/state.c
index 266f7d3..1149b32 100644
--- a/src/state.c
+++ b/src/state.c
@@ -624,7 +624,7 @@ lilv_state_new_from_file(LilvWorld* world,
}
uint8_t* abs_path = (uint8_t*)lilv_path_absolute(path);
- SerdNode node = serd_node_new_uri_from_path(abs_path, NULL, NULL);
+ SerdNode node = serd_node_new_file_uri(abs_path, NULL, NULL);
SerdEnv* env = serd_env_new(&node);
SordModel* model = sord_new(world->world, SORD_SPO, false);
SerdReader* reader = sord_new_reader(model, env, SERD_TURTLE, NULL);
@@ -743,13 +743,12 @@ add_state_to_manifest(const LilvNode* plugin_uri,
return 4;
}
- SerdNode file = serd_node_new_uri_from_path(USTR(state_path), 0, 0);
- SerdNode manifest = serd_node_new_uri_from_path(USTR(manifest_path), 0, 0);
-
lilv_flock(fd, true);
- SerdEnv* env = NULL;
- SerdWriter* writer = ttl_file_writer(fd, &manifest, &env);
+ SerdNode file = serd_node_new_file_uri(USTR(state_path), 0, 0);
+ SerdNode manifest = serd_node_new_file_uri(USTR(manifest_path), 0, 0);
+ SerdEnv* env = NULL;
+ SerdWriter* writer = ttl_file_writer(fd, &manifest, &env);
if (!state_uri) {
state_uri = (const char*)file.buf;
@@ -965,36 +964,28 @@ lilv_state_save(LilvWorld* world,
((LilvState*)state)->dir = lilv_strdup(abs_dir);
}
- char* const manifest = lilv_path_join(abs_dir, "manifest.ttl");
-
// Create symlinks to files if necessary
lilv_state_make_links(state, abs_dir);
// Write state to Turtle file
- SerdNode file = serd_node_new_uri_from_path(USTR(path), NULL, NULL);
+ SerdNode file = serd_node_new_file_uri(USTR(path), NULL, NULL);
SerdEnv* env = NULL;
SerdWriter* writer = ttl_file_writer(fd, &file, &env);
- SerdNode node = SERD_NODE_NULL;
- if (!uri) {
- node = serd_node_new_uri_from_path(USTR(path), NULL, NULL);
- uri = (const char*)node.buf;
- }
-
- int ret = lilv_state_write(world, map, unmap, state, writer, uri, dir);
+ SerdNode node = uri ? serd_node_from_string(SERD_URI, USTR(uri)) : file;
+ int ret = lilv_state_write(
+ world, map, unmap, state, writer, (const char*)node.buf, dir);
serd_node_free(&file);
serd_writer_free(writer);
serd_env_free(env);
fclose(fd);
- if (manifest) {
- add_state_to_manifest(state->plugin_uri, manifest, uri, path);
- }
+ char* const manifest = lilv_path_join(abs_dir, "manifest.ttl");
+ add_state_to_manifest(state->plugin_uri, manifest, uri, path);
- serd_node_free(&node);
- free(abs_dir);
free(manifest);
+ free(abs_dir);
free(path);
return ret;
}