On Tue, Jan 10, 2006 at 11:07:20PM +0900, Peter O'Gorman wrote:
> char *
> get_prog_name(void)
> {
> char * name;
> if (prog_name)
> name = prog_name;
> else
> {
> #if defined(HAVE_GETPROGNAME)
> #include <stdlib.h>
> name = getprogname();
> #elif defined(HAVE_GETEXECNAME)
> #include <stdlib.h>
> name = getexecname();
> #elif defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME)
> #include <errno.h>
> name = program_invocation_short_name;
> #else
> name = "executable";
> #endif
> }
> return name;
> }
If we adopted this code, application authors would still be obliged to
call set_program_name() since there would still be platforms where the
> name = "executable";
clause is executed. However, this clause will only be exercised on
some systems, so having a good default here simply helps to mask bugs.
This is especially unfortunate where developers have a machine which
can figure out the executable name unaided, but end-users don't.
James.
_______________________________________________
bug-gnulib mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gnulib