diff options
Diffstat (limited to 'src/command.c')
-rw-r--r-- | src/command.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/command.c b/src/command.c index 2737c34e9..854f16083 100644 --- a/src/command.c +++ b/src/command.c @@ -817,11 +817,20 @@ handle_load(struct client *client, int argc, char *argv[]) return print_playlist_result(client, result); GError *error = NULL; - return playlist_load_spl(&g_playlist, client->player_control, - argv[1], start_index, end_index, - &error) - ? COMMAND_RETURN_OK - : print_error(client, error); + if (playlist_load_spl(&g_playlist, client->player_control, + argv[1], start_index, end_index, + &error)) + return COMMAND_RETURN_OK; + + if (error->domain == playlist_quark() && + error->code == PLAYLIST_RESULT_BAD_NAME) + /* the message for BAD_NAME is confusing when the + client wants to load a playlist file from the music + directory; patch the GError object to show "no such + playlist" instead */ + error->code = PLAYLIST_RESULT_NO_SUCH_LIST; + + return print_error(client, error); } static enum command_return |