top: correct functioning of the '-p' command line args

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 3e5c950a5e

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner 2017-05-22 00:00:00 -05:00 committed by Craig Small
parent e04394ef24
commit e3bad0687d

View File

@ -3161,7 +3161,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;
@ -3178,7 +3177,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;
@ -3260,7 +3259,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++)