Re: getopt compatibility
"ZIGLIO, Frediano, VF-IT" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
>
> 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
_______________________________________________
FreeTDS mailing list
[email protected]
http://lists.ibiblio.org/mailman/listinfo/freetds
vedi.diff.gz
(application/x-gzip, 1.6 KB) - not displayed