diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-11-10 20:11:34 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-11-10 20:11:34 +0000 |
commit | 0337ec851c643503afd2287f03ca42b5adf5cad7 (patch) | |
tree | 0b6ead2f83f5b9e390cdff163bafb5fe9e6e4bfc /src/command.c | |
parent | 0e8aa9674f10a6ca1ad69b3846b5a4b5e9188928 (diff) | |
download | mpd-0337ec851c643503afd2287f03ca42b5adf5cad7.tar.gz mpd-0337ec851c643503afd2287f03ca42b5adf5cad7.tar.xz mpd-0337ec851c643503afd2287f03ca42b5adf5cad7.zip |
search/find rewrite
git-svn-id: https://svn.musicpd.org/mpd/branches/r2562-metadata-handling-rewrite@2584 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/command.c')
-rw-r--r-- | src/command.c | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/src/command.c b/src/command.c index a179c2af4..35045b472 100644 --- a/src/command.c +++ b/src/command.c @@ -31,6 +31,7 @@ #include "audio.h" #include "buffer2array.h" #include "log.h" +#include "dbUtils.h" #include <stdlib.h> #include <string.h> @@ -441,13 +442,41 @@ int handlePlaylistId(FILE * fp, unsigned int * permission, int handleFind(FILE * fp, unsigned int * permission, int argArrayLength, char ** argArray) { - return findSongsIn(fp,NULL,argArray[1],argArray[2]); + int ret; + + LocateTagItem * item = newLocateTagItem(argArray[1], argArray[2]); + + if(!item) { + commandError(fp, ACK_ERROR_ARG, "\%s\" isn't recognized", + argArray[1]); + return -1; + } + + ret = findSongsIn(fp, NULL, item); + + freeLocateTagItem(item); + + return ret; } int handleSearch(FILE * fp, unsigned int * permission, int argArrayLength, char ** argArray) { - return searchForSongsIn(fp,NULL,argArray[1],argArray[2]); + int ret; + + LocateTagItem * item = newLocateTagItem(argArray[1], argArray[2]); + + if(!item) { + commandError(fp, ACK_ERROR_ARG, "\%s\" isn't recognized", + argArray[1]); + return -1; + } + + ret = searchForSongsIn(fp, NULL, item); + + freeLocateTagItem(item); + + return ret; } int listHandleUpdate(FILE * fp, unsigned int * permission, int argArrayLength, |