]> granicus.if.org Git - procps-ng/commitdiff
top: correct functioning of the '-p' command line args
authorJim Warner <james.warner@comcast.net>
Mon, 22 May 2017 17:00:00 +0000 (12:00 -0500)
committerCraig Small <csmall@enc.com.au>
Sun, 4 Jun 2017 11:28:39 +0000 (21:28 +1000)
With the introduction of a new '1' command line toggle
I have gone and broken a provision of the '-p' command
line switch (pids monitoring). Multiple pids could not
be specified through the use of comma delimited lists.

Thus, this commit simply corrects that newly added bug
which was born in the 'adjustment' commit shown below.

Reference(s):
. adjustment to '-1' implementation
commit 909b37d755fe22ee75b3115d4d402cf5f70708ae

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c

index b72e949cbffe3d1a3dbbee946dca17181a71d431..8f85c4aff84aed8f8589bfa81883cf988e3bed8c 100644 (file)
--- a/top/top.c
+++ b/top/top.c
@@ -3605,7 +3605,6 @@ static void parse_args (char **args) {
       .  bunched args are actually handled properly and none are ignored
       .  we tolerate NO whitespace and NO switches -- maybe too tolerant? */
    static const char numbs_str[] = "+,-.0123456789";
-   static const char wrong_str[] = "+,-.";
    float tmp_delay = FLT_MAX;
    int i;
 
@@ -3622,7 +3621,7 @@ static void parse_args (char **args) {
             case '-':
                if (cp[1]) ++cp;
                else if (*args) cp = *args++;
-               if (strspn(cp, wrong_str))
+               if (strspn(cp, "+,-."))
                   error_exit(fmtmk(N_fmt(WRONG_switch_fmt)
                      , cp, Myname, N_txt(USAGE_abbrev_txt)));
                continue;
@@ -3704,7 +3703,7 @@ static void parse_args (char **args) {
                   if (Monpidsidx >= MONPIDMAX)
                      error_exit(fmtmk(N_fmt(LIMIT_exceed_fmt), MONPIDMAX));
                   if (1 != sscanf(cp, "%d", &pid)
-                  || strpbrk(cp, wrong_str))
+                  || strpbrk(cp, "+-."))
                      error_exit(fmtmk(N_fmt(BAD_mon_pids_fmt), cp));
                   if (!pid) pid = getpid();
                   for (i = 0; i < Monpidsidx; i++)