diff options
Diffstat (limited to '')
-rw-r--r-- | src/UpdateWalk.cxx | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/UpdateWalk.cxx b/src/UpdateWalk.cxx index 909687f46..30e2ca989 100644 --- a/src/UpdateWalk.cxx +++ b/src/UpdateWalk.cxx @@ -95,7 +95,8 @@ directory_set_stat(Directory *dir, const struct stat *st) } static void -remove_excluded_from_directory(Directory *directory, GSList *exclude_list) +remove_excluded_from_directory(Directory *directory, + const ExcludeList &exclude_list) { db_lock(); @@ -103,7 +104,7 @@ remove_excluded_from_directory(Directory *directory, GSList *exclude_list) directory_for_each_child_safe(child, n, directory) { char *name_fs = utf8_to_fs_charset(child->GetName()); - if (exclude_list_check(exclude_list, name_fs)) { + if (exclude_list.Check(name_fs)) { delete_directory(child); modified = true; } @@ -116,7 +117,7 @@ remove_excluded_from_directory(Directory *directory, GSList *exclude_list) assert(song->parent == directory); char *name_fs = utf8_to_fs_charset(song->uri); - if (exclude_list_check(exclude_list, name_fs)) { + if (exclude_list.Check(name_fs)) { delete_song(directory, song); modified = true; } @@ -371,12 +372,13 @@ update_directory(Directory *directory, const struct stat *st) } char *exclude_path_fs = g_build_filename(path_fs, ".mpdignore", NULL); - GSList *exclude_list = exclude_list_load(exclude_path_fs); + ExcludeList exclude_list; + exclude_list.LoadFile(exclude_path_fs); g_free(exclude_path_fs); g_free(path_fs); - if (exclude_list != NULL) + if (!exclude_list.IsEmpty()) remove_excluded_from_directory(directory, exclude_list); purge_deleted_from_directory(directory); @@ -386,8 +388,7 @@ update_directory(Directory *directory, const struct stat *st) char *utf8; struct stat st2; - if (skip_path(ent->d_name) || - exclude_list_check(exclude_list, ent->d_name)) + if (skip_path(ent->d_name) || exclude_list.Check(ent->d_name)) continue; utf8 = fs_charset_to_utf8(ent->d_name); @@ -408,8 +409,6 @@ update_directory(Directory *directory, const struct stat *st) g_free(utf8); } - exclude_list_free(exclude_list); - closedir(dir); directory->mtime = st->st_mtime; |