From b65ec79c1651b10a3f5ce4fe21bbd2f829fff72a Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Sun, 30 May 2004 00:05:23 +0000 Subject: a small change in determining suffix of files git-svn-id: https://svn.musicpd.org/mpd/trunk@1232 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/ls.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'src/ls.c') diff --git a/src/ls.c b/src/ls.c index f52bff969..52ca5b782 100644 --- a/src/ls.c +++ b/src/ls.c @@ -149,22 +149,24 @@ int isFile(char * utf8file, time_t * mtime) { return 0; } -int hasSuffix(char * utf8file, char * suffix) { - char * file = utf8ToFsCharset(utf8file); - char * dup = strdup(file); - char * cLast; - char * cNext; - int ret = 0; - - cNext = cLast = strtok(dup,"."); - - while((cNext = strtok(NULL,"."))) cLast = cNext; - if(cLast && 0==strcasecmp(cLast,suffix)) ret = 1; - free(dup); +/* suffixes should be ascii only characters */ +char * getSuffix(char * utf8file) { + char * ret = NULL; + + while(*utf8file) { + if(*utf8file == '.') ret = utf8file+1; + utf8file++; + } return ret; } +int hasSuffix(char * utf8file, char * suffix) { + char * s = getSuffix(utf8file); + if(s && 0==strcmp(s,suffix)) return 1; + return 0; +} + int isPlaylist(char * utf8file) { if(isFile(utf8file,NULL)) { return hasSuffix(utf8file,PLAYLIST_FILE_SUFFIX); -- cgit v1.2.3