Date: Fri, 28 May 2004 13:24:31 -0400 From: Garance A Drosihn <drosih@rpi.edu> To: Jilles Tjoelker <jilles+fbsd-arch@stack.nl> Cc: arch@FreeBSD.ORG Subject: Re: Change to "kludge option processing" in /bin/ps Message-ID: <p06020401bcdd1b7f0c9c@[128.113.24.47]> In-Reply-To: <20040528155139.GB85017@stack.nl> References: <p0602040cbcd70df2894b@[128.113.24.47]> <20040528155139.GB85017@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
At 5:51 PM +0200 5/28/04, Jilles Tjoelker wrote: >On Sun, May 23, 2004, Garance A Drosihn wrote: > >> If anyone wants to try the update, it is available at: >> > > http://people.freebsd.org/~gad/ps-kludge.diff >> > > Assuming there aren't any major objections to these ideas, I plan > > to do some more testing on this and commit it next weekend. > >What's the deeper purpose of the `optlist' argument for >`kludge_oldps_options' if it's always set to PS_ARGS? a) After a future update, it may be set to something else. b) An earlier version of this update called the kludge- processing for all remaining arguments, and used NULL for optlist to distinguish between argument #1 and "all the rest". After a little testing I realized that that idea was simply not going to work the way I wanted it to, so I got rid of that code but left the parameter. >I have some doubts on whether `ps t' instead of `ps T' should >still be supported, since `ps t p0' doesn't work because of it. >You could only change 't' to 'T' when there are no more >arguments. Hmm, that is an interesting point. I'll check into it. I should note that I'm not going to knock myself out trying to create ideal processing for the historical '-'-less options. However I do think I might be able to improve on the 't'-kludge a little bit more. >Am I right that `ps U0' is equivalent to `ps -U0' with the patch? >(This wasn't really much of an issue before `-U' accepted uids >instead of names.) Yes, after the patch `ps U0' == `ps -U0' Before the patch, `ps U0' == ps: No user named 'p0' >What happens when you do `ps 1,2,3,4'? And `ps uww0,1'? Or even >`ps "v1 $$"'? `ps 1,2,3,4' == `ps -p 1,2,3,4' `ps uww0,1' == `ps -uww -p0,1' BUT `ps u ww0,1' == an error, since kludge processing is only done on argument #1 `ps v1 10' == `ps -p1 -p10' `ps "v1 10"' == an error, for reasons unrelated to this update >All this complexity makes me think of not using getopt(3), as >Albert Cahalan suggested :) Eh. I don't think it's all that bad, not yet at least. As long as we limit "kludge" (the "-"-less option) processing to the first argument, I think we can use getopt() without too much trouble. -- Garance Alistair Drosehn = gad@gilead.netel.rpi.edu Senior Systems Programmer or gad@freebsd.org Rensselaer Polytechnic Institute or drosih@rpi.edu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p06020401bcdd1b7f0c9c>