Skip to Content.
Sympa Menu

freetds - Re: [freetds] getopt compatibility

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] getopt compatibility
  • Date: Wed, 28 May 2008 10:53:28 +0200

>
> ZIGLIO, Frediano, VF-IT wrote:
> > Testing for HP-UX from code is not that
> > difficult and optreset variable can be tested quite easily
> in autoconf,
> > something like
> >
> > static int
> > reset_getopt(void)
> > {
> > #if hpux
> > optind = 1;
> > #else
> > #if HAVE_OPTRESET
> > optreset = 1;
> > #endif
> > optind = 0;
> > #endif
> > }
>
> www.gnu.org/software/libtool/manual/libc/Getopt.htm
>
> Actually, this is going to be much easier than you think.
>
> 1. tsql appears to be wrong: GNU says "The initial value of
> this variable
> is 1." Not zero.
> 2. NetBSD, HP/UX, and opengroup.org all say the same thing.
>
> I tested getopt(3) on a RHEL system; setting optind to 1 caused it to
> parse again from the beginning.
>
> 3. I think it's legal in C to declare
>
> extern int optreset;
>
> without ever having:
>
> int optreset;
>
> so there's no need even to test HAVE_OPTRESET:
>
> static int
> reset_getopt(void)
> {
> optreset = 1;
> optind = 1;
> }
>
> which of course means we don't need the funciton at all. :-)
>

I think this patch summarize the thread. It works on HP-UX 11.11 and
Linux glibc 2.5

freddy77

Attachment: vedi.diff.gz
Description: vedi.diff.gz




Archive powered by MHonArc 2.6.24.

Top of Page