aboutsummaryrefslogtreecommitdiffstats
path: root/core.lv2/lv2config.c
diff options
context:
space:
mode:
Diffstat (limited to 'core.lv2/lv2config.c')
-rw-r--r--core.lv2/lv2config.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/core.lv2/lv2config.c b/core.lv2/lv2config.c
index 00e3a68..1bb4b68 100644
--- a/core.lv2/lv2config.c
+++ b/core.lv2/lv2config.c
@@ -58,7 +58,7 @@ static const size_t file_scheme_len = 7; /* strlen("file://") */
/** Record of an LV2 specification. */
typedef struct _Spec {
SerdNode uri;
- SerdNode manifest;
+ char* manifest;
const char* inc_dir;
} Spec;
@@ -82,8 +82,7 @@ specs_add(World* world,
{
world->specs = realloc(world->specs, sizeof(Spec) * (world->n_specs + 1));
world->specs[world->n_specs].uri = *uri;
- world->specs[world->n_specs].manifest = serd_node_from_string(
- SERD_URI, (const uint8_t*)strdup((const char*)manifest));
+ world->specs[world->n_specs].manifest = strdup((const char*)manifest);
world->specs[world->n_specs].inc_dir = inc_dir;
++world->n_specs;
}
@@ -95,7 +94,7 @@ specs_free(World* world)
for (size_t i = 0; i < world->n_specs; ++i) {
Spec* spec = &world->specs[i];
serd_node_free(&spec->uri);
- serd_node_free(&spec->manifest);
+ free(spec->manifest);
}
free(world->specs);
world->specs = NULL;
@@ -339,9 +338,9 @@ output_includes(World* world)
fprintf(stderr,
"lv2config: %s: warning: Duplicate extension <%s>.\n"
"lv2config: %s: note: Using this version.\n",
- (const char*)last_spec->manifest.buf + file_scheme_len,
+ last_spec->manifest + file_scheme_len,
(const char*)spec->uri.buf,
- (const char*)spec->manifest.buf + file_scheme_len);
+ spec->manifest + file_scheme_len);
continue;
}
@@ -356,7 +355,7 @@ output_includes(World* world)
}
for (++path; (path[0] == '/' && path[0] != '\0'); ++path) {}
- const char* bundle_uri = (const char*)spec->manifest.buf;
+ const char* bundle_uri = spec->manifest;
char* bundle_path = strdup(bundle_uri + file_scheme_len);
char* last_sep = strrchr(bundle_path, LV2CORE_DIR_SEP[0]);
if (last_sep) {