getopt reinvocation/reentrancy

Jeff Johnston jjohnstn@redhat.com
Fri Mar 7 18:52:00 GMT 2008


Ralf Corsepius wrote:
> On Mon, 2008-03-03 at 15:07 -0500, Gregory Pietsch wrote:
>   
>> I got the definition of the GETOPT_DATA_INITIALIZER macro from that old 
>> libc manual that Joel provided the link for: 
>> http://sourceware.org/ml/libc-alpha/2004-03/msg00031/libc-manual.diff .
>>     
>
> Then Joel might want to recheck his docs.
>
> Current glibc doesn't have NO_ARG, REQUIRED_ARG, OPTIONAL_ARG nor
> GETOPT_DATA_INITIALIZER.
>
> FWIW: I removed these defines from the RTEMS newlib's sources.
>
> Ralf
>
>
>   
Ok, here's what I did.  The newlib extensions to getopt.h have been 
placed under the flag __need_getopt_newlib.  Applications ported from 
glibc using getopt.h will be name-space equivalent (i.e. no NO_ARG or 
GETOPT_DATA_INITIALIZER).  Applications needing the reentrant extensions 
or preferring to use the old macros, may define __need_getopt_newlib 
before including getopt.h.  getopt.c defines this flag.  I also added a 
flag around the whole getopt.c because x86-linux has its own version of 
getopt.h which obviously doesn't have the stuff needed to compile getopt.c.

-- Jeff J.



More information about the Newlib mailing list