diff options
author | David Robillard <d@drobilla.net> | 2018-02-04 20:49:28 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-10-27 13:13:58 +0100 |
commit | 45358052fb4fa254f06d0d704a27c5ed9608cc58 (patch) | |
tree | b1a63145d5da80651cb8a7c3d0eb1130897cc8b7 /src | |
parent | 21c59b99a1c75d58d8aab760105b0535cc04c6f1 (diff) | |
download | serd-45358052fb4fa254f06d0d704a27c5ed9608cc58.tar.gz serd-45358052fb4fa254f06d0d704a27c5ed9608cc58.tar.bz2 serd-45358052fb4fa254f06d0d704a27c5ed9608cc58.zip |
Remove serd_uri_to_path()
Diffstat (limited to 'src')
-rw-r--r-- | src/serdi.c | 10 | ||||
-rw-r--r-- | src/uri.c | 23 |
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); @@ -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) { |