aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-03-31 22:32:44 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-03-31 22:32:44 +0000
commit795a1e930b6d3d606546689e991149b9ad583066 (patch)
treebee338e390d2a971f667acba81cadf26d2c2c685
parent995a5deb285385417bc7d6ab182313088c62b9ca (diff)
downloadmpd-795a1e930b6d3d606546689e991149b9ad583066.tar.gz
mpd-795a1e930b6d3d606546689e991149b9ad583066.tar.xz
mpd-795a1e930b6d3d606546689e991149b9ad583066.zip
lets cleanup some file type detection and not call stat() so much
git-svn-id: https://svn.musicpd.org/mpd/trunk@575 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r--src/ls.c30
-rw-r--r--src/ls.h20
-rw-r--r--src/player.c14
-rw-r--r--src/song.c28
4 files changed, 32 insertions, 60 deletions
diff --git a/src/ls.c b/src/ls.c
index 38aaebe40..a47f64d74 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -155,58 +155,28 @@ int hasWaveSuffix(char * utf8file) {
return hasSuffix(utf8file,"wav");
}
-int isWave(char * utf8file, time_t * mtime) {
- if(isFile(utf8file,mtime)) return hasWaveSuffix(utf8file);
- return 0;
-}
-
int hasFlacSuffix(char * utf8file) {
return hasSuffix(utf8file,"flac");
}
-int isFlac(char * utf8file, time_t * mtime) {
- if(isFile(utf8file,mtime)) return hasFlacSuffix(utf8file);
- return 0;
-}
-
int hasOggSuffix(char * utf8file) {
return hasSuffix(utf8file,"ogg");
}
-int isOgg(char * utf8file, time_t * mtime) {
- if(isFile(utf8file,mtime)) return hasOggSuffix(utf8file);
- return 0;
-}
-
int hasAacSuffix(char * utf8file) {
return hasSuffix(utf8file,"aac");
}
-int isAac(char * utf8file, time_t * mtime) {
- if(isFile(utf8file,mtime)) return hasAacSuffix(utf8file);
- return 0;
-}
-
int hasMp4Suffix(char * utf8file) {
if(hasSuffix(utf8file,"mp4")) return 1;
if(hasSuffix(utf8file,"m4a")) return 1;
return 0;
}
-int isMp4(char * utf8file, time_t * mtime) {
- if(isFile(utf8file,mtime)) return hasMp4Suffix(utf8file);
- return 0;
-}
-
int hasMp3Suffix(char * utf8file) {
return hasSuffix(utf8file,"mp3");
}
-int isMp3(char * utf8file, time_t * mtime) {
- if(isFile(utf8file,mtime)) return hasMp3Suffix(utf8file);
- return 0;
-}
-
int isDir(char * utf8name, time_t * mtime) {
struct stat st;
diff --git a/src/ls.h b/src/ls.h
index f117fa69c..b55bb2b1a 100644
--- a/src/ls.h
+++ b/src/ls.h
@@ -26,23 +26,25 @@
int lsPlaylists(FILE * fp, char * utf8path);
-int isMp3(char * utf8file, time_t * mtime);
+int isFile(char * utf8file, time_t * mtime);
-int isAac(char * utf8file, time_t * mtime);
+int isDir(char * utf8name, time_t * mtime);
-int isMp4(char * utf8file, time_t * mtime);
+int isPlaylist(char * utf8file);
-int isOgg(char * utf8file, time_t * mtime);
+int isMusic(char * utf8file, time_t * mtime);
-int isFlac(char * utf8file, time_t * mtime);
+int hasWaveSuffix(char * utf8file);
-int isWave(char * utf8file, time_t * mtime);
+int hasMp3Suffix(char * utf8file);
-int isMusic(char * utf8file, time_t * mtime);
+int hasAacSuffix(char * utf8file);
-int isDir(char * utf8name, time_t * mtime);
+int hasMp4Suffix(char * utf8file);
-int isPlaylist(char * utf8file);
+int hasOggSuffix(char * utf8file);
+
+int hasFlacSuffix(char * utf8file);
char * dupAndStripPlaylistSuffix(char * file);
diff --git a/src/player.c b/src/player.c
index 19693c2c3..138a54a49 100644
--- a/src/player.c
+++ b/src/player.c
@@ -150,22 +150,22 @@ int playerInit() {
}
int playerGetDecodeType(char * utf8file) {
- if(0);
+ if(!isFile(utf8file,NULL));
#ifdef HAVE_MAD
- if(isMp3(utf8file,NULL)) return DECODE_TYPE_MP3;
+ else if(hasMp3Suffix(utf8file)) return DECODE_TYPE_MP3;
#endif
#ifdef HAVE_OGG
- if(isOgg(utf8file,NULL)) return DECODE_TYPE_OGG;
+ else if(hasOggSuffix(utf8file)) return DECODE_TYPE_OGG;
#endif
#ifdef HAVE_FLAC
- if(isFlac(utf8file,NULL)) return DECODE_TYPE_FLAC;
+ else if(hasFlacSuffix(utf8file)) return DECODE_TYPE_FLAC;
#endif
#ifdef HAVE_AUDIOFILE
- if(isWave(utf8file,NULL)) return DECODE_TYPE_AUDIOFILE;
+ else if(hasWaveSuffix(utf8file)) return DECODE_TYPE_AUDIOFILE;
#endif
#ifdef HAVE_FAAD
- if(isAac(utf8file,NULL)) return DECODE_TYPE_AAC;
- if(isMp4(utf8file,NULL)) return DECODE_TYPE_MP4;
+ else if(hasAacSuffix(utf8file)) return DECODE_TYPE_AAC;
+ else if(hasMp4Suffix(utf8file)) return DECODE_TYPE_MP4;
#endif
return -1;
}
diff --git a/src/song.c b/src/song.c
index 377487cbd..c7186d1e0 100644
--- a/src/song.c
+++ b/src/song.c
@@ -57,32 +57,32 @@ Song * newSong(char * utf8file) {
song->utf8file = strdup(utf8file);
- if(0);
+ if(!isFile(utf8file,&(song->mtime)));
#ifdef HAVE_OGG
- else if(isOgg(utf8file,&(song->mtime))) {
+ else if(hasOggSuffix(utf8file)) {
song->tag = oggTagDup(utf8file);
}
#endif
#ifdef HAVE_FLAC
- else if((isFlac(utf8file,&(song->mtime)))) {
+ else if((hasFlacSuffix(utf8file))) {
song->tag = flacTagDup(utf8file);
}
#endif
#ifdef HAVE_MAD
- else if(isMp3(utf8file,&(song->mtime))) {
+ else if(hasMp3Suffix(utf8file)) {
song->tag = mp3TagDup(utf8file);
}
#endif
#ifdef HAVE_AUDIOFILE
- else if(isWave(utf8file,&(song->mtime))) {
+ else if(hasWaveSuffix(utf8file)) {
song->tag = audiofileTagDup(utf8file);
}
#endif
#ifdef HAVE_FAAD
- else if(isAac(utf8file,&(song->mtime))) {
+ else if(hasAacSuffix(utf8file)) {
song->tag = aacTagDup(utf8file);
}
- else if(isMp4(utf8file,&(song->mtime))) {
+ else if(hasMp4Suffix(utf8file)) {
song->tag = mp4TagDup(utf8file);
}
#endif
@@ -227,32 +227,32 @@ int updateSongInfo(Song * song) {
song->tag = NULL;
- if(0);
+ if(!isFile(utf8file,&(song->mtime)));
#ifdef HAVE_OGG
- else if(isOgg(utf8file,&(song->mtime))) {
+ else if(hasOggSuffix(utf8file)) {
song->tag = oggTagDup(utf8file);
}
#endif
#ifdef HAVE_FLAC
- else if((isFlac(utf8file,&(song->mtime)))) {
+ else if((hasFlacSuffix(utf8file))) {
song->tag = flacTagDup(utf8file);
}
#endif
#ifdef HAVE_MAD
- else if(isMp3(utf8file,&(song->mtime))) {
+ else if(hasMp3Suffix(utf8file)) {
song->tag = mp3TagDup(utf8file);
}
#endif
#ifdef HAVE_AUDIOFILE
- else if(isWave(utf8file,&(song->mtime))) {
+ else if(hasWaveSuffix(utf8file)) {
song->tag = audiofileTagDup(utf8file);
}
#endif
#ifdef HAVE_FAAD
- else if(isAac(utf8file,&(song->mtime))) {
+ else if(hasAacSuffix(utf8file)) {
song->tag = aacTagDup(utf8file);
}
- else if(isMp4(utf8file,&(song->mtime))) {
+ else if(hasMp4Suffix(utf8file)) {
song->tag = mp4TagDup(utf8file);
}
#endif