pgrep: Fix off by one error in line check
There is now a warning if your command is longer than 15 characters
and therefore can never match. Except it was checking for more than
16 characters.
Adjusted this and added a test case.
References:
!25
commit 8e8835b2ee
This commit is contained in:
parent
8e8835b2ee
commit
24fd2605c5
2
pgrep.c
2
pgrep.c
@ -888,7 +888,7 @@ static void parse_opts (int argc, char **argv)
|
||||
if (argc - optind == 1)
|
||||
{
|
||||
opt_pattern = argv[optind];
|
||||
if ((!opt_full) && (strlen(opt_pattern) > 16))
|
||||
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);
|
||||
|
@ -118,6 +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"
|
||||
spawn $pgrep gnome-session-bi
|
||||
expect_pass "$test" "pattern that contains program name longer than 15 characters will result in zero matches"
|
||||
|
||||
# Cleanup
|
||||
kill_testproc
|
||||
|
Loading…
Reference in New Issue
Block a user