aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/command/FileCommands.cxx13
-rw-r--r--src/command/QueueCommands.cxx15
2 files changed, 15 insertions, 13 deletions
diff --git a/src/command/FileCommands.cxx b/src/command/FileCommands.cxx
index 789aa1f28..1e0f9c585 100644
--- a/src/command/FileCommands.cxx
+++ b/src/command/FileCommands.cxx
@@ -202,11 +202,22 @@ read_file_comments(Client &client, const Path path_fs)
}
+static const char *
+translate_uri(const char *uri)
+{
+ if (memcmp(uri, "file:///", 8) == 0)
+ /* drop the "file://", leave only an absolute path
+ (starting with a slash) */
+ return uri + 7;
+
+ return uri;
+}
+
CommandResult
handle_read_comments(Client &client, ConstBuffer<const char *> args)
{
assert(args.size == 1);
- const char *const uri = args.front();
+ const char *const uri = translate_uri(args.front());
if (memcmp(uri, "file:///", 8) == 0) {
/* read comments from arbitrary local file */
diff --git a/src/command/QueueCommands.cxx b/src/command/QueueCommands.cxx
index 20634652a..d461170fd 100644
--- a/src/command/QueueCommands.cxx
+++ b/src/command/QueueCommands.cxx
@@ -43,18 +43,13 @@
#include <string.h>
static const char *
-translate_uri(Client &client, const char *uri)
+translate_uri(const char *uri)
{
if (memcmp(uri, "file:///", 8) == 0)
/* drop the "file://", leave only an absolute path
(starting with a slash) */
return uri + 7;
- if (PathTraitsUTF8::IsAbsolute(uri)) {
- command_error(client, ACK_ERROR_NO_EXIST, "Malformed URI");
- return nullptr;
- }
-
return uri;
}
@@ -70,9 +65,7 @@ handle_add(Client &client, ConstBuffer<const char *> args)
here */
uri = "";
- uri = translate_uri(client, uri);
- if (uri == nullptr)
- return CommandResult::ERROR;
+ uri = translate_uri(uri);
if (uri_has_scheme(uri) || PathTraitsUTF8::IsAbsolute(uri)) {
const SongLoader loader(client);
@@ -101,9 +94,7 @@ handle_add(Client &client, ConstBuffer<const char *> args)
CommandResult
handle_addid(Client &client, ConstBuffer<const char *> args)
{
- const char *const uri = translate_uri(client, args.front());
- if (uri == nullptr)
- return CommandResult::ERROR;
+ const char *const uri = translate_uri(args.front());
const SongLoader loader(client);
Error error;