From c84c73df00e5e1710d84fdb4be6352d849da8f2b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 10:49:05 +0200 Subject: directory: converted typedef Directory to struct directory The struct can be forward-declared by other headers, which relaxes the header dependencies. --- src/dbUtils.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index bd990e96d..4c52fffc2 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -45,8 +45,7 @@ typedef struct _SearchStats { unsigned long playTime; } SearchStats; -static int countSongsInDirectory(Directory * directory, - void *data) +static int countSongsInDirectory(struct directory *directory, void *data) { int *count = (int *)data; @@ -55,7 +54,7 @@ static int countSongsInDirectory(Directory * directory, return 0; } -static int printDirectoryInDirectory(Directory * directory, void *data) +static int printDirectoryInDirectory(struct directory *directory, void *data) { int fd = (int)(size_t)data; if (directory->path) { @@ -336,15 +335,15 @@ int listAllUniqueTags(int fd, int type, int numConditionals, return ret; } -static int sumSavedFilenameMemoryInDirectory(Directory * dir, void *data) +static int sumSavedFilenameMemoryInDirectory(struct directory *dir, void *data) { int *sum = data; if (!dir->path) return 0; - *sum += (strlen(getDirectoryPath(dir)) + 1 - sizeof(Directory *)) * - dir->songs.nr; + *sum += (strlen(getDirectoryPath(dir)) + 1 + - sizeof(struct directory *)) * dir->songs.nr; return 0; } -- cgit v1.2.3 From 79e8abb461fa848cce3717333ee5cfa55ee91c71 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 10:49:11 +0200 Subject: song: converted typedef Song to struct song Again, a data type which can be forward-declared. [ew: * used "struct mpd_song" instead to avoid token duplication (like I did with "struct mpd_tag") as there's no good abbreviation for "song" and identical tokens on the same line don't read well * rewritten using perl -i -p -e 's/\bSong\b/struct mpd_song/g' src/*.[ch] since it was too hard to merge * also, I don't care much for forward declarations ] --- src/dbUtils.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index 4c52fffc2..eb11ff19e 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -68,7 +68,7 @@ struct search_data { LocateTagItemArray array; }; -static int searchInDirectory(Song * song, void *_data) +static int searchInDirectory(struct mpd_song * song, void *_data) { struct search_data *data = _data; int fd = data->fd; @@ -110,7 +110,7 @@ int searchForSongsIn(int fd, const char *name, int numItems, return ret; } -static int findInDirectory(Song * song, void *_data) +static int findInDirectory(struct mpd_song * song, void *_data) { struct search_data *data = _data; int fd = data->fd; @@ -139,7 +139,7 @@ static void printSearchStats(int fd, SearchStats *stats) fdprintf(fd, "playtime: %li\n", stats->playTime); } -static int searchStatsInDirectory(Song * song, void *data) +static int searchStatsInDirectory(struct mpd_song * song, void *data) { SearchStats *stats = data; @@ -177,7 +177,8 @@ int printAllIn(int fd, const char *name) printDirectoryInDirectory, (void*)(size_t)fd); } -static int directoryAddSongToPlaylist(Song * song, mpd_unused void *data) +static int +directoryAddSongToPlaylist(struct mpd_song * song, mpd_unused void *data) { return addSongToPlaylist(song, NULL); } @@ -186,7 +187,7 @@ struct add_data { const char *path; }; -static int directoryAddSongToStoredPlaylist(Song *song, void *_data) +static int directoryAddSongToStoredPlaylist(struct mpd_song *song, void *_data) { struct add_data *data = _data; @@ -209,7 +210,7 @@ int addAllInToStoredPlaylist(const char *name, const char *utf8file) &data); } -static int sumSongTime(Song * song, void *data) +static int sumSongTime(struct mpd_song * song, void *data) { unsigned long *sum_time = (unsigned long *)data; @@ -263,7 +264,7 @@ static void freeListCommandItem(ListCommandItem * item) } static void visitTag(int fd, struct strset *set, - Song * song, enum tag_type tagType) + struct mpd_song * song, enum tag_type tagType) { int i; struct mpd_tag *tag = song->tag; @@ -291,7 +292,7 @@ struct list_tags_data { struct strset *set; }; -static int listUniqueTagsInDirectory(Song * song, void *_data) +static int listUniqueTagsInDirectory(struct mpd_song * song, void *_data) { struct list_tags_data *data = _data; ListCommandItem *item = data->item; @@ -348,7 +349,7 @@ static int sumSavedFilenameMemoryInDirectory(struct directory *dir, void *data) return 0; } -static int sumSavedFilenameMemoryInSong(Song * song, void *data) +static int sumSavedFilenameMemoryInSong(struct mpd_song * song, void *data) { int *sum = data; -- cgit v1.2.3 From 729523ec80f35a683c982054628cd47d2161d3d4 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 11:07:35 +0200 Subject: directory: moved code to database.c Taming the directory.c monster, part II: move the database management stuff to database. directory.c should only contain code which works on directory objects. --- src/dbUtils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index eb11ff19e..7d1d185a3 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -18,7 +18,7 @@ #include "dbUtils.h" -#include "directory.h" +#include "database.h" #include "myfprintf.h" #include "utils.h" #include "playlist.h" -- cgit v1.2.3 From 4629f646077109f7c6185aab92560da52c237412 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 11:07:55 +0200 Subject: database: renamed functions, "db_" prefix and no CamelCase Yet another CamelCase removal patch. --- src/dbUtils.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index 7d1d185a3..5320c0dac 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -98,7 +98,7 @@ int searchForSongsIn(int fd, const char *name, int numItems, data.array.numItems = numItems; data.array.items = items; - ret = traverseAllIn(name, searchInDirectory, NULL, &data); + ret = db_walk(name, searchInDirectory, NULL, &data); for (i = 0; i < numItems; i++) { free(items[i].needle); @@ -130,7 +130,7 @@ int findSongsIn(int fd, const char *name, int numItems, LocateTagItem * items) data.array.numItems = numItems; data.array.items = items; - return traverseAllIn(name, findInDirectory, NULL, &data); + return db_walk(name, findInDirectory, NULL, &data); } static void printSearchStats(int fd, SearchStats *stats) @@ -164,7 +164,7 @@ int searchStatsForSongsIn(int fd, const char *name, int numItems, stats.numberOfSongs = 0; stats.playTime = 0; - ret = traverseAllIn(name, searchStatsInDirectory, NULL, &stats); + ret = db_walk(name, searchStatsInDirectory, NULL, &stats); if (ret == 0) printSearchStats(fd, &stats); @@ -173,7 +173,7 @@ int searchStatsForSongsIn(int fd, const char *name, int numItems, int printAllIn(int fd, const char *name) { - return traverseAllIn(name, song_print_url_x, + return db_walk(name, song_print_url_x, printDirectoryInDirectory, (void*)(size_t)fd); } @@ -198,7 +198,7 @@ static int directoryAddSongToStoredPlaylist(struct mpd_song *song, void *_data) int addAllIn(const char *name) { - return traverseAllIn(name, directoryAddSongToPlaylist, NULL, NULL); + return db_walk(name, directoryAddSongToPlaylist, NULL, NULL); } int addAllInToStoredPlaylist(const char *name, const char *utf8file) @@ -206,7 +206,7 @@ int addAllInToStoredPlaylist(const char *name, const char *utf8file) struct add_data data; data.path = utf8file; - return traverseAllIn(name, directoryAddSongToStoredPlaylist, NULL, + return db_walk(name, directoryAddSongToStoredPlaylist, NULL, &data); } @@ -222,7 +222,7 @@ static int sumSongTime(struct mpd_song * song, void *data) int printInfoForAllIn(int fd, const char *name) { - return traverseAllIn(name, song_print_info_x, + return db_walk(name, song_print_info_x, printDirectoryInDirectory, (void*)(size_t)fd); } @@ -231,7 +231,7 @@ int countSongsIn(const char *name) int count = 0; void *ptr = (void *)&count; - traverseAllIn(name, NULL, countSongsInDirectory, ptr); + db_walk(name, NULL, countSongsInDirectory, ptr); return count; } @@ -241,7 +241,7 @@ unsigned long sumSongTimesIn(const char *name) unsigned long dbPlayTime = 0; void *ptr = (void *)&dbPlayTime; - traverseAllIn(name, sumSongTime, NULL, ptr); + db_walk(name, sumSongTime, NULL, ptr); return dbPlayTime; } @@ -318,7 +318,7 @@ int listAllUniqueTags(int fd, int type, int numConditionals, data.set = strset_new(); } - ret = traverseAllIn(NULL, listUniqueTagsInDirectory, NULL, &data); + ret = db_walk(NULL, listUniqueTagsInDirectory, NULL, &data); if (type >= 0 && type <= TAG_NUM_OF_ITEM_TYPES) { const char *value; @@ -362,7 +362,7 @@ void printSavedMemoryFromFilenames(void) { int sum = 0; - traverseAllIn(NULL, sumSavedFilenameMemoryInSong, + db_walk(NULL, sumSavedFilenameMemoryInSong, sumSavedFilenameMemoryInDirectory, (void *)&sum); DEBUG("saved memory from filenames: %i\n", sum); -- cgit v1.2.3 From a76121ea81f452c0d5e21d6a2fb6f200a80faf7b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 11:07:58 +0200 Subject: directory: eliminate CamelCase CamelCase is ugly, rename the functions. [ew: "directory_get_directory" was too confusing, using "directory_get_subdir" instead (old function was named "getSubDirectory")] --- src/dbUtils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index 5320c0dac..aa7e639b7 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -58,7 +58,7 @@ static int printDirectoryInDirectory(struct directory *directory, void *data) { int fd = (int)(size_t)data; if (directory->path) { - fdprintf(fd, "directory: %s\n", getDirectoryPath(directory)); + fdprintf(fd, "directory: %s\n", directory_get_path(directory)); } return 0; } @@ -343,7 +343,7 @@ static int sumSavedFilenameMemoryInDirectory(struct directory *dir, void *data) if (!dir->path) return 0; - *sum += (strlen(getDirectoryPath(dir)) + 1 + *sum += (strlen(directory_get_path(dir)) + 1 - sizeof(struct directory *)) * dir->songs.nr; return 0; -- cgit v1.2.3 From 0c46207db41840ac70af7a5261969e865b748f1d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 11:55:52 +0200 Subject: directory: fix update in root directory Commit 0bfe7802 broke update for new files in the root directory, because music_root->path was an empty string and not NULL. There were some NULL tests missing. Change them to !isRootDirectory(path) instead of path!=NULL. --- src/dbUtils.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index aa7e639b7..9e307efc6 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -57,9 +57,8 @@ static int countSongsInDirectory(struct directory *directory, void *data) static int printDirectoryInDirectory(struct directory *directory, void *data) { int fd = (int)(size_t)data; - if (directory->path) { + if (!isRootDirectory(directory->path)) fdprintf(fd, "directory: %s\n", directory_get_path(directory)); - } return 0; } @@ -340,7 +339,7 @@ static int sumSavedFilenameMemoryInDirectory(struct directory *dir, void *data) { int *sum = data; - if (!dir->path) + if (!isRootDirectory(dir->path)) return 0; *sum += (strlen(directory_get_path(dir)) + 1 -- cgit v1.2.3 From 6e2b0ca9edaed200f250ef487701ad161aa4a168 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 11 Oct 2008 19:49:14 -0700 Subject: directory: don't use identical struct and variable names Duplicated tokens in close proximity takes too long for my head to parse; and "dir" is an easy and common abbreviation for "directory". --- src/dbUtils.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/dbUtils.c') diff --git a/src/dbUtils.c b/src/dbUtils.c index 9e307efc6..1fadb232e 100644 --- a/src/dbUtils.c +++ b/src/dbUtils.c @@ -45,20 +45,20 @@ typedef struct _SearchStats { unsigned long playTime; } SearchStats; -static int countSongsInDirectory(struct directory *directory, void *data) +static int countSongsInDirectory(struct directory *dir, void *data) { int *count = (int *)data; - *count += directory->songs.nr; + *count += dir->songs.nr; return 0; } -static int printDirectoryInDirectory(struct directory *directory, void *data) +static int printDirectoryInDirectory(struct directory *dir, void *data) { int fd = (int)(size_t)data; - if (!isRootDirectory(directory->path)) - fdprintf(fd, "directory: %s\n", directory_get_path(directory)); + if (!isRootDirectory(dir->path)) + fdprintf(fd, "directory: %s\n", directory_get_path(dir)); return 0; } -- cgit v1.2.3