Index: machine.c =================================================================== --- machine.c (revision 221321) +++ machine.c (working copy) @@ -103,7 +103,7 @@ " PID%s %-*.*s VCSW IVCSW READ WRITE FAULT TOTAL PERCENT COMMAND"; #define io_Proc_format \ - "%5d%s %-*.*s %6ld %6ld %6ld %6ld %6ld %6ld %6.2f%% %.*s" + "%5d%s %-*.*s %6ld %6ld %6ld %6ld %6ld %6ld %6.2f%% %s" static char smp_header_thr[] = " PID%s %-*.*s THR PRI NICE SIZE RES STATE C TIME %6s COMMAND"; @@ -111,7 +111,7 @@ " PID%s %-*.*s " "PRI NICE SIZE RES STATE C TIME %6s COMMAND"; #define smp_Proc_format \ - "%5d%s %-*.*s %s%3d %4s%7s %6s %-6.6s %2d%7s %5.2f%% %.*s" + "%5d%s %-*.*s %s%3d %4s%7s %6s %-6.6s %2d%7s %5.2f%% %s" static char up_header_thr[] = " PID%s %-*.*s THR PRI NICE SIZE RES STATE TIME %6s COMMAND"; @@ -119,7 +119,7 @@ " PID%s %-*.*s " "PRI NICE SIZE RES STATE TIME %6s COMMAND"; #define up_Proc_format \ - "%5d%s %-*.*s %s%3d %4s%7s %6s %-6.6s%.0d%7s %5.2f%% %.*s" + "%5d%s %-*.*s %s%3d %4s%7s %6s %-6.6s%.0d%7s %5.2f%% %s" /* process state names for the "STATE" column of the display */ @@ -377,7 +377,9 @@ namelength, namelength, uname_field); break; } - cmdlengthdelta = strlen(Header) - 7; + cmdlengthdelta = screen_width - (strlen(Header) - 7) - 1; + if (cmdlengthdelta < 0) + cmdlengthdelta = 0; return (Header); } @@ -743,7 +745,7 @@ return ((caddr_t)&handle); } -static char fmt[128]; /* static area where result is built */ +static char fmt[MAX_COLS]; /* static area where result is built */ char * format_next_process(caddr_t handle, char *(*get_userid)(int), int flags) @@ -931,8 +933,6 @@ rup->ru_majflt, p_tot, s_tot == 0 ? 0.0 : (p_tot * 100.0 / s_tot), - screen_width > cmdlengthdelta ? - screen_width - cmdlengthdelta : 0, printable(cmdbuf)); free(cmdbuf); @@ -961,7 +961,6 @@ smpmode ? pp->ki_lastcpu : 0, format_time(cputime), ps.wcpu ? 100.0 * weighted_cpu(pct, pp) : 100.0 * pct, - screen_width > cmdlengthdelta ? screen_width - cmdlengthdelta : 0, printable(cmdbuf)); free(cmdbuf);