NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/38327: uu{en,de}code - any reason to use non-portable [sg]etprogname?
The following reply was made to PR bin/38327; it has been noted by GNATS.
From: Alan Barrett <apb%cequrux.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: bin/38327: uu{en,de}code - any reason to use non-portable
[sg]etprogname?
Date: Sat, 29 Mar 2008 15:22:30 +0200
On Sat, 29 Mar 2008, Aleksey Cheusov wrote:
> There is no reason to use __progname or argv[0] or anything similar in
> uu{en,de}code. Constant strings "uuencode" and "uudecode" are enough
> because they are used only for printing a usage message.
Try this:
$ cp -p /usr/bin/uuencode /tmp/foobar
$ /tmp/foobar
usage: foobar [-m] [infile] remotefile
If we followed your sugestion, the usage message would have referred to
"uuencode" instead of "foobar".
> BTW: setprogname(3) also seems useless in both programs.
>
> setprogname(3):
> ...
> A program's name can only be set once, and in NetBSD that is actually
> done by program start-up code that is run before main() is called.
Yes, in NetBSD, setprogname is a no-op. However, we use it for
portability. If we didn't call setprogname(), then it would be much
more difficult to provide a compatibility layer to allow getprogname()
to work on non-NetBSD systems. (See src/tools/compat/setprogname.c, as
I mentioned before.)
--apb (Alan Barrett)
Home |
Main Index |
Thread Index |
Old Index