aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/OtherCommands.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-12-29 14:40:24 +0100
committerMax Kellermann <max@duempel.org>2013-12-29 18:25:32 +0100
commit809b0eb1f52289894554def6bf078a87c9d64cf3 (patch)
treec256b202e1c7bfeacf64f812b4d252492d0b752e /src/command/OtherCommands.cxx
parentb5f3bfce92b42ad3b6c7f5f37ea1b8a23616f87f (diff)
downloadmpd-809b0eb1f52289894554def6bf078a87c9d64cf3.tar.gz
mpd-809b0eb1f52289894554def6bf078a87c9d64cf3.tar.xz
mpd-809b0eb1f52289894554def6bf078a87c9d64cf3.zip
command: "lsinfo" and "readcomments" allowed for remote files
Diffstat (limited to 'src/command/OtherCommands.cxx')
-rw-r--r--src/command/OtherCommands.cxx20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/command/OtherCommands.cxx b/src/command/OtherCommands.cxx
index 0c1de8792..e1cbdb618 100644
--- a/src/command/OtherCommands.cxx
+++ b/src/command/OtherCommands.cxx
@@ -136,6 +136,26 @@ handle_lsinfo(Client &client, int argc, char *argv[])
return CommandResult::OK;
}
+ if (uri_has_scheme(uri)) {
+ if (!uri_supported_scheme(uri)) {
+ command_error(client, ACK_ERROR_NO_EXIST,
+ "unsupported URI scheme");
+ return CommandResult::ERROR;
+ }
+
+ Song *song = Song::NewRemote(uri);
+ if (!song->UpdateStream()) {
+ song->Free();
+ command_error(client, ACK_ERROR_NO_EXIST,
+ "No such file");
+ return CommandResult::ERROR;
+ }
+
+ song_print_info(client, *song);
+ song->Free();
+ return CommandResult::OK;
+ }
+
CommandResult result = handle_lsinfo2(client, argc, argv);
if (result != CommandResult::OK)
return result;