From 3b6790c7dc5994bce1b4dddf51871377ae46de6b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 13 Feb 2012 19:51:27 +0100 Subject: command: never print "bad name" in response to "load" Work around a confusing error message. --- src/command.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src') 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 -- cgit v1.2.3