From 61b083551265c78110855e79b5f12adcd422affb Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 28 Apr 2009 20:25:07 +0200 Subject: command: added "sticker delete" command --- src/command.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src') diff --git a/src/command.c b/src/command.c index 1290a34e7..d30b63594 100644 --- a/src/command.c +++ b/src/command.c @@ -1588,6 +1588,28 @@ handle_sticker_song(struct client *client, int argc, char *argv[]) return COMMAND_RETURN_ERROR; } + return COMMAND_RETURN_OK; + } else if ((argc == 4 || argc == 5) && + strcmp(argv[1], "delete") == 0) { + struct song *song; + bool ret; + + song = db_get_song(argv[3]); + if (song == NULL) { + command_error(client, ACK_ERROR_NO_EXIST, + "no such song"); + return COMMAND_RETURN_ERROR; + } + + ret = argc == 4 + ? sticker_song_delete(song) + : sticker_song_delete_value(song, argv[4]); + if (!ret) { + command_error(client, ACK_ERROR_SYSTEM, + "no such sticker"); + return COMMAND_RETURN_ERROR; + } + return COMMAND_RETURN_OK; } else if (argc == 5 && strcmp(argv[1], "find") == 0) { /* "sticker find song a/directory name" */ -- cgit v1.2.3