ps: fix non-desktop ps -ww -- thanks rockeychu
This commit is contained in:
parent
f4cee7a174
commit
7ce7594fa3
13
procps/ps.c
13
procps/ps.c
@ -11,6 +11,9 @@
|
||||
|
||||
#include "libbb.h"
|
||||
|
||||
/* Absolute maximum on output line length */
|
||||
enum { MAX_WIDTH = 2*1024 };
|
||||
|
||||
#if ENABLE_DESKTOP
|
||||
|
||||
/* Print value to buf, max size+1 chars (including trailing '\0') */
|
||||
@ -317,10 +320,11 @@ int ps_main(int argc, char **argv)
|
||||
|
||||
/* Was INT_MAX, but some libc's go belly up with printf("%.*s")
|
||||
* and such large widths */
|
||||
terminal_width = 30000;
|
||||
terminal_width = MAX_WIDTH;
|
||||
if (isatty(1)) {
|
||||
get_terminal_width_height(1, &terminal_width, NULL);
|
||||
terminal_width--;
|
||||
if (--terminal_width > MAX_WIDTH)
|
||||
terminal_width = MAX_WIDTH;
|
||||
}
|
||||
format_header();
|
||||
|
||||
@ -358,11 +362,12 @@ int ps_main(int argc, char **argv)
|
||||
* if w is given more than once, it is "unlimited"
|
||||
*/
|
||||
if (w_count) {
|
||||
terminal_width = (w_count==1) ? 132 : INT_MAX;
|
||||
terminal_width = (w_count==1) ? 132 : MAX_WIDTH;
|
||||
} else {
|
||||
get_terminal_width_height(1, &terminal_width, NULL);
|
||||
/* Go one less... */
|
||||
terminal_width--;
|
||||
if (--terminal_width > MAX_WIDTH)
|
||||
terminal_width = MAX_WIDTH;
|
||||
}
|
||||
#else /* only ENABLE_SELINUX */
|
||||
i = getopt32(argc, argv, "Z");
|
||||
|
Loading…
Reference in New Issue
Block a user