[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: use of program_name
From: |
Paul Eggert |
Subject: |
Re: use of program_name |
Date: |
Fri, 06 Jan 2006 15:51:29 -0800 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) |
Thanks for taking this on.
James Youngman <address@hidden> writes:
> --- doc/standards.texi 25 Dec 2005 23:59:50 -0000 1.10
> +++ doc/standards.texi 6 Jan 2006 11:35:14 -0000
This part we should funnel through the standards maintainer. There
shouldn't be any problem with it, it's just that it should get
installed upstream, after we update gnulib itself.
> +const char *program_name(void)
> +{
> + return myname;
> +}
Please use the normal GNU style for indentation, here and elsewhere.
const char *
program_name (void)
{
return myname;
}
> - program_name = (char *) argv[0];
> + myname = (char *) argv[0];
The cast shouldn't be needed. (It shouldn't have been needed in
the original.)
> - fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name);
> + fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name());
Please put in a space before the '(', here and elsewhere.
> - Copyright (C) 2002, 2004 Free Software Foundation, Inc.
> + Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
2006, surely (here and elsewhere).
> +char *myname;
Should be 'char const *'. (By the way, Jim and I prefer that style
to 'const char *', so outside glibc-derived code let's go that way.)
> -# define program_name program_invocation_name
Let's omit this '#define', and change all uses of program_name to
program_name in the rest of the code. The other arm of the #if can
then contain
#define program_invocation_name program_name ()
This will make things easier for the glibc maintainers.
> +/* program_name() should be defined by the application and should
> + * return the program's name. This is normally the same string as was
> + * passed to main() as argv[0].
> + */
> +extern const char *program_name(void);
We should not change error.h that way, since it shouldn't be added to
glibc. Let's leave error.h alone. The decl should be in progname.h,
and error.c should include progname.h (not in glibc mode of course).
> -const char *program_name = NULL;
> +static const char *the_program_name = NULL;
Change this to
static char const *myname;
for consistency with the other examples. There's no need to
initialize it to NULL; on some systems startup is faster if you don't.
- use of program_name, Dave Love, 2006/01/04
- Re: use of program_name, Paul Eggert, 2006/01/04
- Re: use of program_name, Dave Love, 2006/01/05
- Re: use of program_name, Paul Eggert, 2006/01/05
- Re: use of program_name, Karl Berry, 2006/01/05
- Re: use of program_name, Paul Eggert, 2006/01/05
- Re: use of program_name, Eric Blake, 2006/01/05
- Re: use of program_name, James Youngman, 2006/01/06
- Re: use of program_name, James Youngman, 2006/01/06
- Re: use of program_name, Karl Berry, 2006/01/06
- Re: use of program_name,
Paul Eggert <=
- Re: use of program_name, Sergey Poznyakoff, 2006/01/06
- Re: use of program_name, Dave Love, 2006/01/06
- Re: [bug-gnulib] Re: use of program_name, Bruno Haible, 2006/01/09
- use of -fno-common on Darwin (was: use of program_name), Ralf Wildenhues, 2006/01/09
- Re: use of -fno-common on Darwin, Peter O'Gorman, 2006/01/09
- Re: use of -fno-common on Darwin, Paul Eggert, 2006/01/09
- Re: use of -fno-common on Darwin, Bob Friesenhahn, 2006/01/10
- Re: use of -fno-common on Darwin, Bruno Haible, 2006/01/10
- Re: use of -fno-common on Darwin, Peter O'Gorman, 2006/01/10
- Re: getprogname, Bruno Haible, 2006/01/10