On Thu, Oct 13, 2016 at 12:15:34AM -0400, Ted Unangst wrote: > Theo de Raadt wrote: > > > On Wed, Oct 12, 2016 at 03:20:00PM +0200, Otto Moerbeek wrote: > > > > simple diff to show the hostname on the second line. OK? > > > > > > OK bluhm@ > > > > > > > > > > > BTW, batch mode doesn't function here as expected. Need to look into > > > > that, > > > > I hoped this would look more like top(1) so I did it a different way. > > This does not work quite right for long hostnames, but then.. neither > > does top. > > this truncates hostname to always display time.
If the line grows (because of multiple pages and/or PAUSED mode), the line wraps now.... Also, we have hostname already available in a buffer. -Otto Index: main.c =================================================================== RCS file: /cvs/src/usr.bin/systat/main.c,v retrieving revision 1.64 diff -u -p -r1.64 main.c --- main.c 2 Jan 2016 15:02:05 -0000 1.64 +++ main.c 13 Oct 2016 05:59:32 -0000 @@ -101,6 +101,8 @@ print_header(void) tb_start(); if (!paused) { + char *ctim; + getloadavg(avenrun, sizeof(avenrun) / sizeof(avenrun[0])); snprintf(uloadbuf, sizeof(uloadbuf), @@ -108,7 +110,9 @@ print_header(void) ucount(), avenrun[0], avenrun[1], avenrun[2]); time(&now); - strlcpy(timebuf, ctime(&now), sizeof(timebuf)); + ctim = ctime(&now); + ctim[11+8] = '\0'; + strlcpy(timebuf, ctim + 11, sizeof(timebuf)); } if (num_disp && (start > 1 || end != num_disp)) @@ -120,7 +124,8 @@ print_header(void) "%s %s", uloadbuf, paused ? "PAUSED" : ""); - snprintf(header, sizeof(header), "%-55s%s", tmpbuf, timebuf); + snprintf(header, sizeof(header), "%-44s %.15s %s", tmpbuf, hostname, + timebuf); if (rawmode) printf("\n\n%s\n", header);