ps(1): Fix -w + UNLIMITED handling

A follow-up fix for r314685.

Because the -w flag is parsed after ps(1) infers termwidth from COLUMNS and
stdout, and UNLIMITED happens to be the zero value, the single -w flag in
combination with a non-terminal stdout or COLUMNS=0 could result in output
truncated at 131 characters.  (Despite the output being unlimited without
-w.)

Obviously, adding more -w shouldn't truncate output lines.

The committed patch is from bdrewery@, and I've reviewed and tested it.

Submitted by:	bdrewery@
Reported by:	bdrewery@
Sponsored by:	Dell EMC Isilon
This commit is contained in:
Conrad Meyer 2017-03-07 04:51:35 +00:00
parent 60647474d9
commit ef1d40da16

View File

@ -401,7 +401,7 @@ main(int argc, char *argv[])
case 'w':
if (wflag)
termwidth = UNLIMITED;
else if (termwidth < 131)
else if (termwidth < 131 && termwidth != UNLIMITED)
termwidth = 131;
wflag++;
break;