diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-03-28 21:57:12 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-03-28 21:57:12 +0000 |
commit | 450196c119e22268c9176cb7887cceb22bf8e9ff (patch) | |
tree | e4a76e61f40840b4dcf2015d55f9ecfa93a8ee23 | |
parent | b7cffd4bedf14770a7096a11a6e46cc497ff37c6 (diff) | |
download | busybox-450196c119e22268c9176cb7887cceb22bf8e9ff.tar.gz |
ps: work around libc bug: printf("%.*s\n", MAX_INT, buffer)
-rw-r--r-- | libbb/xfuncs.c | 6 | ||||
-rw-r--r-- | 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--; |