aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-02-04 20:49:28 +0100
committerDavid Robillard <d@drobilla.net>2020-10-27 13:13:58 +0100
commit45358052fb4fa254f06d0d704a27c5ed9608cc58 (patch)
treeb1a63145d5da80651cb8a7c3d0eb1130897cc8b7 /src
parent21c59b99a1c75d58d8aab760105b0535cc04c6f1 (diff)
downloadserd-45358052fb4fa254f06d0d704a27c5ed9608cc58.tar.gz
serd-45358052fb4fa254f06d0d704a27c5ed9608cc58.tar.bz2
serd-45358052fb4fa254f06d0d704a27c5ed9608cc58.zip
Remove serd_uri_to_path()
Diffstat (limited to 'src')
-rw-r--r--src/serdi.c10
-rw-r--r--src/uri.c23
2 files changed, 8 insertions, 25 deletions
diff --git a/src/serdi.c b/src/serdi.c
index 38646a67..47118e8f 100644
--- a/src/serdi.c
+++ b/src/serdi.c
@@ -33,6 +33,7 @@
#include <errno.h>
#include <stdbool.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#define SERDI_ERROR(msg) fprintf(stderr, "serdi: " msg)
@@ -236,11 +237,15 @@ main(int argc, char** argv)
_setmode(_fileno(stdout), _O_BINARY);
#endif
- const char* input = (const char*)argv[a++];
+ char* input_path = NULL;
+ const char* input = (const char*)argv[a++];
if (from_file) {
in_name = in_name ? in_name : input;
if (!in_fd) {
- input = serd_uri_to_path(in_name);
+ if (!strncmp(input, "file:", 5)) {
+ input_path = serd_file_uri_parse(input, NULL);
+ input = input_path;
+ }
if (!input || !(in_fd = serd_fopen(input, "rb"))) {
return 1;
}
@@ -331,6 +336,7 @@ main(int argc, char** argv)
serd_writer_free(writer);
serd_env_free(env);
serd_node_free(base);
+ free(input_path);
if (from_file) {
fclose(in_fd);
diff --git a/src/uri.c b/src/uri.c
index 726b0f54..66ef0b6a 100644
--- a/src/uri.c
+++ b/src/uri.c
@@ -25,29 +25,6 @@
#include <stdlib.h>
#include <string.h>
-const char*
-serd_uri_to_path(const char* uri)
-{
- const char* path = uri;
- if (!is_windows_path(uri) && serd_uri_string_has_scheme(uri)) {
- if (strncmp(uri, "file:", 5)) {
- fprintf(stderr, "Non-file URI `%s'\n", uri);
- return NULL;
- } else if (!strncmp(uri, "file://localhost/", 17)) {
- path = uri + 16;
- } else if (!strncmp(uri, "file://", 7)) {
- path = uri + 7;
- } else {
- fprintf(stderr, "Invalid file URI `%s'\n", uri);
- return NULL;
- }
- if (is_windows_path(path + 1)) {
- ++path; // Special case for terrible Windows file URIs
- }
- }
- return path;
-}
-
char*
serd_file_uri_parse(const char* uri, char** hostname)
{