only write db in initMp3Directory() when stuff is updated

git-svn-id: https://svn.musicpd.org/mpd/trunk@781 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-04-16 00:48:47 +00:00
parent 2e420db19c
commit c4d2b8dc1c

View File

@ -63,6 +63,10 @@
#define DIRECTORY_UPDATE_EXIT_UPDATE 1
#define DIRECTORY_UPDATE_EXIT_ERROR 2
#define DIRECTORY_RETURN_NOUPDATE 0
#define DIRECTORY_RETURN_UPDATE 1
#define DIRECTORY_RETURN_ERROR -1
typedef List DirectoryList;
typedef struct _Directory {
@ -309,7 +313,7 @@ int updateInDirectory(Directory * directory, char * shortname, char * name) {
if(isMusic(name,&mtime)) {
if(0==findInList(directory->songs,shortname,&song)) {
addToDirectory(directory,shortname,name);
return 1;
return DIRECTORY_RETURN_UPDATE;
}
else if(mtime!=((Song *)song)->mtime) {
LOG("updating %s\n",name);
@ -960,13 +964,15 @@ int readDirectoryDB() {
return 0;
}
/* return values:
-1 -> error
0 -> no error, but nothing updated
1 -> no error, and stuff updated
*/
int updateMp3Directory(FILE * fp) {
if(updateDirectory(mp3rootDirectory)<0) {
switch(updateDirectory(mp3rootDirectory)) {
case 0:
/* nothing updated */
return 0;
case 1:
/* something was updated and db should be written */
break;
default:
ERROR("problems updating music db\n");
myfprintf(fp,"%s problems updating music db\n",COMMAND_RESPOND_ERROR);
return -1;