diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 2008-01-09 18:06:24 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 2008-01-09 18:06:24 +0000 |
commit | dbb295662035a42acb0014325e04e2cb9ebfa8bd (patch) | |
tree | 7227af220d557c3c92c71e07a629431802e4950c /usr.bin/top | |
parent | b9dca7a18c11513a7e1839ef815e33c0f4975906 (diff) | |
download | src-dbb295662035a42acb0014325e04e2cb9ebfa8bd.tar.gz src-dbb295662035a42acb0014325e04e2cb9ebfa8bd.zip |
Improve -u (limit uid lookups) behavior.
Submitted by: David Frascone <dave@frascone.com>
PR: 119490
Notes
Notes:
svn path=/head/; revision=175195
Diffstat (limited to 'usr.bin/top')
-rw-r--r-- | usr.bin/top/machine.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/usr.bin/top/machine.c b/usr.bin/top/machine.c index cc12705b4c89..d6fa14c04286 100644 --- a/usr.bin/top/machine.c +++ b/usr.bin/top/machine.c @@ -60,7 +60,11 @@ extern struct process_select ps; extern char* printable(char *); static int smpmode; enum displaymodes displaymode; +#ifdef TOP_USERNAME_LEN +static int namelength = TOP_USERNAME_LEN; +#else static int namelength = 8; +#endif static int cmdlengthdelta; /* Prototypes for top internals */ @@ -223,7 +227,7 @@ static void getsysctl(const char *name, void *ptr, size_t len); static int swapmode(int *retavail, int *retfree); int -machine_init(struct statics *statics) +machine_init(struct statics *statics, char do_unames) { int pagesize; size_t modelen; @@ -237,9 +241,11 @@ machine_init(struct statics *statics) modelen != sizeof(smpmode)) smpmode = 0; - while ((pw = getpwent()) != NULL) { + if (do_unames) { + while ((pw = getpwent()) != NULL) { if (strlen(pw->pw_name) > namelength) namelength = strlen(pw->pw_name); + } } if (smpmode && namelength > SMPUNAMELEN) namelength = SMPUNAMELEN; |