From f752a5aa9002a42c3105b2cd8c13100a50bfea28 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sun, 19 Nov 2006 19:11:30 +0000 Subject: Check if file has already been removed from DB when manually invoking reverse scan. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11556 a1c6a512-1295-4272-9138-f99709370657 --- apps/tagcache.c | 12 ++++++++++++ apps/tagcache.h | 1 + tools/database.c | 1 + 3 files changed, 14 insertions(+) diff --git a/apps/tagcache.c b/apps/tagcache.c index 7f12bab849..dea20393ff 100644 --- a/apps/tagcache.c +++ b/apps/tagcache.c @@ -3420,6 +3420,10 @@ static bool check_deleted_files(void) return false; } + /* Check if the file has already deleted from the db. */ + if (*buf == '\0') + continue; + /* Now check if the file exists. */ testfd = open(buf, O_RDONLY); if (testfd < 0) @@ -3859,6 +3863,14 @@ void tagcache_init(void) #endif } +#ifdef __PCTOOL__ +void tagcache_reverse_scan(void) +{ + logf("Checking for deleted files"); + check_deleted_files(); +} +#endif + bool tagcache_is_initialized(void) { return tc_stat.initialized; diff --git a/apps/tagcache.h b/apps/tagcache.h index ea4d255630..281f3b86a2 100644 --- a/apps/tagcache.h +++ b/apps/tagcache.h @@ -138,6 +138,7 @@ struct tagcache_search { #ifdef __PCTOOL__ void build_tagcache(const char *path); +void tagcache_reverse_scan(void); #endif int tagcache_str_to_tag(const char *str); diff --git a/tools/database.c b/tools/database.c index 780586ea90..3826249d75 100644 --- a/tools/database.c +++ b/tools/database.c @@ -7,6 +7,7 @@ int main(int argc, char **argv) { tagcache_init(); build_tagcache("/export/stuff/mp3"); + tagcache_reverse_scan(); return 0; } -- cgit v1.2.3