cvs commit: src/usr.bin/top machine.c

David O'Brien obrien at freebsd.org
Sun May 15 20:27:46 PDT 2005


On Mon, May 16, 2005 at 03:40:59AM +0300, Giorgos Keramidas wrote:
> On 2005-05-15 17:18, David O'Brien <obrien at FreeBSD.org> wrote:
> >On Sat, Apr 16, 2005 at 03:43:38PM +0000, Giorgos Keramidas wrote:
> >>   Reduce the width of the THR column to 4 characters, to avoid wrap-around
> >>   of lines in SMP machines (which are wider), until we have a better way
> >>   of handling window sizes & columns in top.
> >>
> >>   Caught by:      ache, Andre Guibert de Bruet <andy at siliconlandmark.com>
> >>   Point hat:      keramida
> >>
> >>   Revision  Changes    Path
> >>   1.71      +5 -5      src/usr.bin/top/machine.c
> >
> > Please back machine.c back to revsion 1.69, ASAP.
> > The current top is redicious:
..snip..
> Your USERNAME column is too wide (12 columns).  Do you happen to have
> very long names?

The dovecot port adds a the 'dovecot-auth' user.
The top(1) code supports 13 character usernames on SMP systems and 15 on
UP systems.  Your rev 1.70-1.71 changes failed to take that into account.
 
> If that is true, would it be ok to wait 1-2 days until I have a
> machine.c version that prints USERNAME using only 8 columns instead of
> using arbitrarily long columns, like now?

I don't know why to wait 1-2 days.  I made the change in 1 minute.  Or is
there debate if that change will be acceptable?  If there isn't a debate
about it, let me know and I'll commit this diff.

Index: machine.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/top/machine.c,v
retrieving revision 1.71
diff -u -r1.71 machine.c
--- machine.c	16 Apr 2005 15:43:38 -0000	1.71
+++ machine.c	16 May 2005 03:25:20 -0000
@@ -60,7 +60,7 @@
 int swapmode(int *retavail, int *retfree);
 static int smpmode;
 enum displaymodes displaymode;
-static int namelength;
+static int namelength = 8;
 static int cmdlengthdelta;
 
 /* Prototypes for top internals */
@@ -233,17 +233,6 @@
 	    modelen != sizeof(smpmode))
 		smpmode = 0;
 
-	while ((pw = getpwent()) != NULL) {
-		if (strlen(pw->pw_name) > namelength)
-			namelength = strlen(pw->pw_name);
-	}
-	if (namelength < 8)
-		namelength = 8;
-	if (smpmode && namelength > 13)
-		namelength = 13;
-	else if (namelength > 15)
-		namelength = 15;
-
 	kd = kvm_open(NULL, _PATH_DEVNULL, NULL, O_RDONLY, "kvm_open");
 	if (kd == NULL)
 		return (-1);

-- 
-- David  (obrien at FreeBSD.org)


More information about the cvs-src mailing list