> Date: Sat, 12 Oct 2019 16:52:08 -0500 > From: Scott Cheloha <scottchel...@gmail.com> > > On Sat, Oct 12, 2019 at 02:51:04PM -0400, Ted Unangst wrote: > > Klemens Nanni wrote: > > > On Sat, Oct 12, 2019 at 09:53:44AM -0600, Theo de Raadt wrote: > > > > I am suggesting you put the spaces after the cpu#. > > > Is this better? > > > > > > 4 CPUs: 0.0% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, > > > 100% idle > > > > > > CPU 0 : 0.0% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, > > > 100% idle > > > CPU 1 : 0.0% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, > > > 100% idle > > > > > > CPU 0: 0.0% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, 100% > > idle > > CPU 10: 0.0% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, 100% > > idle > > CPU 100: 0.0% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, 100% > > idle > > maybe this...? > > $ ./obj/top -d1 > load averages: 2.99, 2.71, 1.78 jetsam.local 16:47:23 > 65 processes: 61 idle, 4 on processor up 9 days, 22:29:29 > CPU 0: 0.3% user, 0.0% nice, 0.1% sys, 0.0% spin, 0.1% intr, 99.6% > idle > CPU 1: 0.3% user, 0.0% nice, 0.1% sys, 0.0% spin, 0.0% intr, 99.6% > idle > CPU 2: 0.3% user, 0.0% nice, 0.1% sys, 0.0% spin, 0.0% intr, 99.6% > idle > CPU 3: 0.2% user, 0.0% nice, 0.0% sys, 0.0% spin, 0.0% intr, 99.8% > idle > Memory: Real: 468M/11G act/tot Free: 4351M Cache: 9615M Swap: 0K/32G > > $ ./obj/top -d1 -1 > load averages: 2.99, 2.72, 1.79 jetsam.local 16:47:30 > 65 processes: 61 idle, 4 on processor up 9 days, 22:29:36 > 4 CPUs: 0.3% user, 0.0% nice, 0.1% sys, 0.0% spin, 0.0% intr, 99.7% > idle > Memory: Real: 468M/11G act/tot Free: 4351M Cache: 9615M Swap: 0K/32G
No! There should be *no* space between CPU and the number. > Index: display.c > =================================================================== > RCS file: /cvs/src/usr.bin/top/display.c,v > retrieving revision 1.59 > diff -u -p -r1.59 display.c > --- display.c 3 Jul 2019 03:24:02 -0000 1.59 > +++ display.c 12 Oct 2019 21:47:05 -0000 > @@ -72,7 +72,7 @@ FILE *debug; > > static int display_width = MAX_COLS; > > -static char *cpustates_tag(int); > +static void cpustates_tag(int); > static int string_count(char **); > static void summary_format(char *, size_t, int *, char **); > static int readlinedumb(char *, int); > @@ -338,49 +339,22 @@ i_procstates(int total, int *states, int > > /* cpustates_tag() calculates the correct tag to use to label the line */ > > -static char * > +static void > cpustates_tag(int cpu) > { > - if (screen_length > 3 || !smart_terminal) { > - static char *tag; > - static int cpulen, old_width; > - int i; > - > - if (cpulen == 0 && ncpu > 1) { > - /* compute length of the cpu string */ > - for (i = ncpu; i > 0; cpulen++, i /= 10) > - continue; > - } > + char buf[32]; > > - if (old_width == screen_width) { > - if (ncpu > 1) { > - /* just store the cpu number in the tag */ > - i = tag[3 + cpulen]; > - snprintf(tag + 3, cpulen + 1, "%.*d", cpulen, > cpu); > - tag[3 + cpulen] = i; > - } > - } else { > - /* > - * use a long tag if it will fit, otherwise use short > one. > - */ > - free(tag); > - if (cpustate_total_length + 10 + cpulen >= screen_width) > - i = asprintf(&tag, "CPU%.*d: ", cpulen, cpu); > - else > - i = asprintf(&tag, "CPU%.*d states: ", cpulen, > cpu); > - if (i == -1) > - tag = NULL; > - else > - old_width = screen_width; > - } > - return (tag); > + if (screen_length > 3 || !smart_terminal) { > + snprintf(buf, sizeof(buf), "CPU %d: ", cpu); > + printwp("%-10s", buf); > } else > - return ("\0"); > + addstrp(""); > } > > void > i_cpustates(int64_t *ostates, int *online) > { > + char buf[32]; > int i, first, cpu, cpu_line; > double value; > int64_t *states; > @@ -413,7 +387,8 @@ i_cpustates(int64_t *ostates, int *onlin > first = 0; > move(2, 0); > clrtoeol(); > - printwp("%-3d CPUs: ", ncpuonline); > + snprintf(buf, sizeof(buf), "%-3d CPUs: ", ncpuonline); > + printwp("%-9s", buf); > > while ((thisname = *names++) != NULL) { > if (*thisname != '\0') { > @@ -441,7 +416,7 @@ i_cpustates(int64_t *ostates, int *onlin > if (screen_length > 2 + cpu_line || !smart_terminal) { > move(2 + cpu_line, 0); > clrtoeol(); > - addstrp(cpustates_tag(cpu)); > + cpustates_tag(cpu); > > while ((thisname = *names++) != NULL) { > if (*thisname != '\0') { > >