The following reply was made to PR bin/146331; it has been noted by GNATS. From: Jeremie Le Hen <jere...@le-hen.org> To: Chip Camden <sterl...@camdensoftware.com> Cc: bug-follo...@freebsd.org, jere...@le-hen.org Subject: Re: bin/146331: [PATCH] Grow ps(1) with "gid" and "group" keywords Date: Tue, 10 Aug 2010 09:19:14 +0200
--jI8keyz6grp/JLjh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Chip, Thanks for looking at this patch. On Mon, Aug 09, 2010 at 04:04:54PM -0700, Chip Camden wrote: > (Bugathon) > > For some reason, the patch did not apply cleanly to keyword.c. I > couldn't see anything different with it, so I patched that file by hand. It > all seems to work except for the 'euid' synonym, for some strange reason. > > Tested on 8.1-RELEASE, i386. This patch is against -CURRENT. I will willingly create a patch against RELENG_8 and RELENG_7 for the MFC if this finally gets commited. I can confirm that "euid" did't work. I've attached a corrected patch. The problem was that the list was not alphabetically sorted. Regards, -- Jeremie Le Hen Humans are born free and equal. But some are more equal than others. Coluche --jI8keyz6grp/JLjh Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="ps.egid.diff" Index: extern.h =================================================================== RCS file: /mnt/repos/freebsd-cvsroot/src/bin/ps/extern.h,v retrieving revision 1.40 diff -u -p -u -p -r1.40 extern.h --- extern.h 17 Mar 2010 22:57:58 -0000 1.40 +++ extern.h 5 May 2010 13:51:43 -0000 @@ -69,11 +69,13 @@ void pmem(KINFO *, VARENT *); void pri(KINFO *, VARENT *); void printheader(void); void priorityr(KINFO *, VARENT *); +void egroupname(KINFO *, VARENT *); void rgroupname(KINFO *, VARENT *); void runame(KINFO *, VARENT *); void rvar(KINFO *, VARENT *); int s_comm(KINFO *); int s_label(KINFO *); +int s_egroupname(KINFO *); int s_rgroupname(KINFO *); int s_runame(KINFO *); int s_uname(KINFO *); Index: keyword.c =================================================================== RCS file: /mnt/repos/freebsd-cvsroot/src/bin/ps/keyword.c,v retrieving revision 1.83 diff -u -p -u -p -r1.83 keyword.c --- keyword.c 24 Jul 2010 15:37:36 -0000 1.83 +++ keyword.c 10 Aug 2010 07:16:00 -0000 @@ -86,12 +86,19 @@ static VAR var[] = { {"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d", 0}, {"cputime", "", "time", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egid", "", "gid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"egroup", "", "group", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"emul", "EMUL", NULL, LJUST, emulname, NULL, EMULLEN, 0, CHAR, NULL, 0}, {"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0}, {"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0}, + {"euid", "", "uid", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0}, {"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, + {"gid", "GID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_groups), + UINT, UIDFMT, 0}, + {"group", "GROUP", NULL, LJUST|DSIZ, egroupname, s_egroupname, + USERLEN, 0, CHAR, NULL, 0}, {"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG, "ld", 0}, Index: print.c =================================================================== RCS file: /mnt/repos/freebsd-cvsroot/src/bin/ps/print.c,v retrieving revision 1.101 diff -u -p -u -p -r1.101 print.c --- print.c 17 Mar 2010 22:57:58 -0000 1.101 +++ print.c 5 May 2010 13:53:24 -0000 @@ -340,6 +340,22 @@ s_uname(KINFO *k) } void +egroupname(KINFO *k, VARENT *ve) +{ + VAR *v; + + v = ve->var; + (void)printf("%-*s", v->width, + group_from_gid(k->ki_p->ki_groups[0], 0)); +} + +int +s_egroupname(KINFO *k) +{ + return (strlen(group_from_gid(k->ki_p->ki_groups[0], 0))); +} + +void rgroupname(KINFO *k, VARENT *ve) { VAR *v; Index: ps.1 =================================================================== RCS file: /mnt/repos/freebsd-cvsroot/src/bin/ps/ps.1,v retrieving revision 1.96 diff -u -p -u -p -r1.96 ps.1 --- ps.1 24 Jul 2010 15:24:12 -0000 1.96 +++ ps.1 10 Aug 2010 06:59:42 -0000 @@ -490,6 +490,12 @@ elapsed running time, in decimal integer .It Cm flags the process flags, in hexadecimal (alias .Cm f ) +.It Cm gid +effective group ID (alias +.Cm egid ) +.It Cm group +group name (from egid) (alias +.Cm egroup ) .It Cm inblk total blocks read (alias .Cm inblock ) @@ -613,7 +619,8 @@ process pointer .It Cm ucomm name to be used for accounting .It Cm uid -effective user ID +effective user ID (alias +.Cm euid ) .It Cm upr scheduling priority on return from system call (alias .Cm usrpri ) --jI8keyz6grp/JLjh-- _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"