Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 30 Sep 2012 19:53:22 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: better compatibility with bsd getopt()

On Sun, Sep 30, 2012 at 11:32:44PM +0200, Daniel Cegiełka wrote:
> 2012/9/30 Rich Felker <dalias@...ifal.cx>:
> 
> >> OpenBSD solves gnu reset option in this way:
> >>
> >>       /*
> >>        * XXX Some GNU programs (like cvs) set optind to 0 instead of
> >>        * XXX using optreset.  Work around this braindamage.
> >>        */
> >>       if (optind == 0)
> >>               optind = optreset = 1;
> >
> > Except the BSD way is the braindamaged one because it violates the
> > namespace. The GNU way simply defines something that was previously
> > undefined by the standard without affecting the namespace.
> >
> > If needed, I think it's possible to support both, with some weak
> > symbol hacks...
> 
> sample solution for gnu/bsd getopt() - of course this patch needs this
> weak symbol hacks...

One more question... is optreset supposed to be declared in a header?
Or is the application responsible for declaring it?

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.