aboutsummaryrefslogtreecommitdiffstats
path: root/src/ls.c
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-05-30 00:05:23 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-05-30 00:05:23 +0000
commitb65ec79c1651b10a3f5ce4fe21bbd2f829fff72a (patch)
tree81a55306f9cfa741336cb9a332248ae1abe9e64c /src/ls.c
parent1ad2c17ddf8ceab2b5966bac6ca3583f0b6d1848 (diff)
downloadmpd-b65ec79c1651b10a3f5ce4fe21bbd2f829fff72a.tar.gz
mpd-b65ec79c1651b10a3f5ce4fe21bbd2f829fff72a.tar.xz
mpd-b65ec79c1651b10a3f5ce4fe21bbd2f829fff72a.zip
a small change in determining suffix of files
git-svn-id: https://svn.musicpd.org/mpd/trunk@1232 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/ls.c')
-rw-r--r--src/ls.c26
1 files changed, 14 insertions, 12 deletions
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);