aboutsummaryrefslogtreecommitdiffstats
path: root/src/directory.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-09-07 13:48:37 +0200
committerEric Wong <normalperson@yhbt.net>2008-09-09 01:11:26 -0700
commit7d7b69e576500522a011627d7937e255aa7c16c7 (patch)
treee94ef26cff7f3272707aca3a8da54bb0ea7723d3 /src/directory.c
parentdcc575a3a877e342e895df9fc99108028151cc6a (diff)
downloadmpd-7d7b69e576500522a011627d7937e255aa7c16c7.tar.gz
mpd-7d7b69e576500522a011627d7937e255aa7c16c7.tar.xz
mpd-7d7b69e576500522a011627d7937e255aa7c16c7.zip
directory: don't pass fd to traverseAllIn()
This patch continues the work of the previous patch: don't pass a file descriptor at all to traverseAllIn(). Since this fd was only used to report "directory not found" errors, we can easily move that check to the caller. This is a great relief, since it removes the dependency on a client connection from a lot of enumeration functions.
Diffstat (limited to 'src/directory.c')
-rw-r--r--src/directory.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/directory.c b/src/directory.c
index 48d3249ce..64d9492a8 100644
--- a/src/directory.c
+++ b/src/directory.c
@@ -1153,8 +1153,8 @@ int readDirectoryDB(void)
readDirectoryInfo(fp, mp3rootDirectory);
while (fclose(fp) && errno == EINTR) ;
- stats.numberOfSongs = countSongsIn(STDERR_FILENO, NULL);
- stats.dbPlayTime = sumSongTimesIn(STDERR_FILENO, NULL);
+ stats.numberOfSongs = countSongsIn(NULL);
+ stats.dbPlayTime = sumSongTimesIn(NULL);
if (stat(dbFile, &st) == 0)
directory_dbModTime = st.st_mtime;
@@ -1218,7 +1218,7 @@ static int traverseAllInSubDirectory(Directory * directory,
return errFlag;
}
-int traverseAllIn(int fd, const char *name,
+int traverseAllIn(const char *name,
int (*forEachSong) (Song *, void *),
int (*forEachDir) (Directory *, void *), void *data)
{
@@ -1229,8 +1229,6 @@ int traverseAllIn(int fd, const char *name,
if ((song = getSongFromDB(name)) && forEachSong) {
return forEachSong(song, data);
}
- commandError(fd, ACK_ERROR_NO_EXIST,
- "directory or file not found");
return -1;
}
@@ -1255,8 +1253,8 @@ void initMp3Directory(void)
mp3rootDirectory = newDirectory(NULL, NULL);
exploreDirectory(mp3rootDirectory);
freeAllDirectoryStats(mp3rootDirectory);
- stats.numberOfSongs = countSongsIn(STDERR_FILENO, NULL);
- stats.dbPlayTime = sumSongTimesIn(STDERR_FILENO, NULL);
+ stats.numberOfSongs = countSongsIn(NULL);
+ stats.dbPlayTime = sumSongTimesIn(NULL);
}
static Song *getSongDetails(const char *file, const char **shortnameRet,