bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gnulib] program_name in error.c


From: Bruno Haible
Subject: Re: [bug-gnulib] program_name in error.c
Date: Sat, 9 Sep 2006 17:08:58 +0200
User-agent: KMail/1.9.1

Sergey Poznyakoff wrote:
> --- error.c   29 Aug 2006 16:58:34 -0000      1.46
> +++ error.c   9 Sep 2006 05:39:50 -0000
> @@ -92,9 +92,13 @@ extern void __error_at_line (int status,
>  char *strerror_r ();
>  # endif
>  
> +#ifdef HAVE_PROGRAM_INVOCATION_NAME
> +# define program_name program_invocation_name
> +#else
>  /* The calling program should define program_name and set it to the
>     name of the executing program.  */
>  extern char *program_name;
> +#endif
>  
>  # if HAVE_STRERROR_R || defined strerror_r
>  #  define __strerror_r strerror_r
> 

- Why do you use HAVE_PROGRAM_INVOCATION_NAME here, whereas argp.m4
  defines GNULIB_PROGRAM_INVOCATION_NAME ?

- If the #ifdef condition is true, you'll be using the
  program_invocation_name without having a declaration for it (since
  argp-namefrob.h has not been included as this point).

- Programs using the 'error' module are responsible for defining a variable
  'program_name' and initializing it. If error.c now uses a different
  variable, who is responsible for initializing it? Can you guarantee
  that error() will not be invoked before this initialization?

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]