aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/reader.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/reader.c b/src/reader.c
index 12d81fac..80f1c2ed 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -1553,18 +1553,20 @@ SerdStatus
serd_reader_read_file(SerdReader* reader,
const uint8_t* uri)
{
- const uint8_t* path = serd_uri_to_path(uri);
+ uint8_t* const path = serd_file_uri_parse(uri, NULL);
if (!path) {
return SERD_ERR_BAD_ARG;
}
FILE* fd = serd_fopen((const char*)path, "r");
if (!fd) {
+ free(path);
return SERD_ERR_UNKNOWN;
}
SerdStatus ret = serd_reader_read_file_handle(reader, fd, path);
fclose(fd);
+ free(path);
return ret;
}