Commit 1aacf4af authored by Jan Rybar's avatar Jan Rybar

pgrep: warning about 15+ chars name only if zero matches found

This avoids situations where longer regex which matches short-named proc is used.
Test for pgrep updated.
parent 19649938
......@@ -651,6 +651,11 @@ static struct el * select_procs (int *num)
}
closeproc (ptp);
*num = matches;
if ((!matches) && (!opt_full) && (strlen(opt_pattern) > 15))
xwarnx(_("pattern that searches for process name longer than 15 characters will result in zero matches\n"
"Try `%s -f' option to match against the complete command line."),
program_invocation_short_name);
return list;
}
......@@ -886,14 +891,7 @@ static void parse_opts (int argc, char **argv)
}
if (argc - optind == 1)
{
opt_pattern = argv[optind];
if ((!opt_full) && (strlen(opt_pattern) > 15))
xwarnx(_("pattern that contains program name longer than 15 characters will result in zero matches\n"
"Try `%s -f' option for thorough search."),
program_invocation_short_name);
}
else if (argc - optind > 1)
xerrx(EXIT_USAGE, _("only one pattern can be provided\n"
"Try `%s --help' for more information."),
......
......@@ -118,9 +118,9 @@ set test "pgrep does not match substring with exact"
spawn $pgrep -x $testproc_trim
expect_blank $test
set test "pgrep with long match gives warning"
set test "pgrep with long non-matching pattern gives warning"
spawn $pgrep gnome-session-bi
expect_pass "$test" "pattern that contains program name longer than 15 characters will result in zero matches"
expect_pass "$test" "pattern that searches for process name longer than 15 characters will result in zero matches"
# Cleanup
kill_testproc
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment