X-Git-Url: https://git.sesse.net/?p=plocate;a=blobdiff_plain;f=updatedb.cpp;fp=updatedb.cpp;h=cfdd3afff0c8f0773f865065d8202ecea2d3f296;hp=6f88c94d7789e214ce7bae30d15cb610e9d776e0;hb=a03412e91a80f762aff266a6c9e9a1f6f206942b;hpb=4696bbc48870f367ca6b03f0a1c17b270d647ab3 diff --git a/updatedb.cpp b/updatedb.cpp index 6f88c94..cfdd3af 100644 --- a/updatedb.cpp +++ b/updatedb.cpp @@ -522,6 +522,13 @@ string ExistingDB::read_next_dictionary() const // Takes ownership of fd. int scan(const string &path, int fd, dev_t parent_dev, dir_time modified, dir_time db_modified, ExistingDB *existing_db, DatabaseReceiver *corpus, DictionaryBuilder *dict_builder) { + if (string_list_contains_dir_path(&conf_prunepaths, &conf_prunepaths_index, path)) { + if (conf_debug_pruning) { + fprintf(stderr, "Skipping `%s': in prunepaths\n", path.c_str()); + } + close(fd); + return 0; + } if (conf_prune_bind_mounts && is_bind_mount(path.c_str())) { if (conf_debug_pruning) { fprintf(stderr, "Skipping `%s': bind mount\n", path.c_str()); @@ -676,12 +683,6 @@ int scan(const string &path, int fd, dev_t parent_dev, dir_time modified, dir_ti } continue; } - if (string_list_contains_dir_path(&conf_prunepaths, &conf_prunepaths_index, (path_plus_slash + e.name).c_str())) { - if (conf_debug_pruning) { - fprintf(stderr, "Skipping `%s/%s': in prunepaths\n", path.c_str(), e.name.c_str()); - } - continue; - } e.fd = opendir_noatime(fd, e.name.c_str()); if (e.fd == -1) {