From: Steinar H. Gunderson Date: Fri, 12 Nov 2021 21:14:53 +0000 (+0100) Subject: Add an option --add-single-prunepath. X-Git-Tag: 1.1.14~8 X-Git-Url: https://git.sesse.net/?p=plocate;a=commitdiff_plain;h=b1c0bcf7059cc0267d5567c1d30852a15e239515 Add an option --add-single-prunepath. This makes it possible to prune a path with spaces in the file name, which was previously impossible. --- diff --git a/conf.cpp b/conf.cpp index 78c4ae9..1055fd7 100644 --- a/conf.cpp +++ b/conf.cpp @@ -340,9 +340,10 @@ help(void) printf(_("Usage: updatedb [OPTION]...\n" "Update a plocate database.\n" "\n" - " -f, --add-prunefs FS omit also FS\n" - " -n, --add-prunenames NAMES omit also NAMES\n" - " -e, --add-prunepaths PATHS omit also PATHS\n" + " -f, --add-prunefs FS omit also FS (space-separated)\n" + " -n, --add-prunenames NAMES omit also NAMES (space-separated)\n" + " -e, --add-prunepaths PATHS omit also PATHS (space-separated)\n" + " --add-single-prunepath PATH omit also PATH\n" " -U, --database-root PATH the subtree to store in " "database (default \"/\")\n" " -h, --help print this help\n" @@ -393,12 +394,14 @@ prepend_cwd(const string &path) static void parse_arguments(int argc, char *argv[]) { - enum { OPT_DEBUG_PRUNING = CHAR_MAX + 1 }; + enum { OPT_DEBUG_PRUNING = CHAR_MAX + 1, + OPT_ADD_SINGLE_PRUNEPATH = CHAR_MAX + 2 }; static const struct option options[] = { { "add-prunefs", required_argument, NULL, 'f' }, { "add-prunenames", required_argument, NULL, 'n' }, { "add-prunepaths", required_argument, NULL, 'e' }, + { "add-single-prunepath", required_argument, NULL, OPT_ADD_SINGLE_PRUNEPATH }, { "database-root", required_argument, NULL, 'U' }, { "debug-pruning", no_argument, NULL, OPT_DEBUG_PRUNING }, { "help", no_argument, NULL, 'h' }, @@ -499,6 +502,11 @@ parse_arguments(int argc, char *argv[]) var_add_values(&conf_prunepaths, optarg); break; + case OPT_ADD_SINGLE_PRUNEPATH: + prunepaths_changed = true; + conf_prunepaths.push_back(optarg); + break; + case 'f': prunefs_changed = true; var_add_values(&conf_prunefs, optarg);