diff options
author | Max Kellermann <max@duempel.org> | 2013-12-29 14:40:24 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-12-29 18:25:32 +0100 |
commit | 809b0eb1f52289894554def6bf078a87c9d64cf3 (patch) | |
tree | c256b202e1c7bfeacf64f812b4d252492d0b752e /src/command/OtherCommands.cxx | |
parent | b5f3bfce92b42ad3b6c7f5f37ea1b8a23616f87f (diff) | |
download | mpd-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.cxx | 20 |
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; |