From 450196c119e22268c9176cb7887cceb22bf8e9ff Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 28 Mar 2007 21:57:12 +0000 Subject: ps: work around libc bug: printf("%.*s\n", MAX_INT, buffer) --- libbb/xfuncs.c | 6 +++--- procps/ps.c | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index e1632a4b6..68ad3dec4 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -253,9 +253,9 @@ void smart_ulltoa5(unsigned long long ul, char buf[5]) buf[4] = '\0'; } -// Convert unsigned integer to ascii, writing into supplied buffer. A -// truncated result is always null terminated (unless buflen is 0), and -// contains the first few digits of the result ala strncpy. +// Convert unsigned integer to ascii, writing into supplied buffer. +// A truncated result contains the first few digits of the result ala strncpy. +// Returns a pointer past last generated digit, does _not_ store NUL. void BUG_sizeof_unsigned_not_4(void); char *utoa_to_buf(unsigned n, char *buf, unsigned buflen) { diff --git a/procps/ps.c b/procps/ps.c index c1cb64397..2be0b3605 100644 --- a/procps/ps.c +++ b/procps/ps.c @@ -262,7 +262,9 @@ int ps_main(int argc, char **argv) parse_o(default_o); post_process(); - terminal_width = INT_MAX; + /* Was INT_MAX, but some libc's go belly up with printf("%.*s") + * and such large widths */ + terminal_width = 30000; if (isatty(1)) { get_terminal_width_height(1, &terminal_width, NULL); terminal_width--; -- cgit v1.2.3