Dne 31.03.09 04:55, Tom Lane napsal(a):
Zdenek Kotala <zdenek.kot...@sun.com> writes:
I attached a fix. Only problem what I see there is getopt_long.h which
contains
I'm more concerned about the "static int optreset", which is 100%
guaranteed to break things.
Yeah correct, I overlooked that optreset is also defined as a extern.
There is updated patch.
Thanks Zdenek
*** pgsql.c598eae30145/src/port/getopt.c 2009-03-31 13:31:56.896353577
+0200
--- pgsql/src/port/getopt.c 2009-03-31 12:22:04.619485958 +0200
***************
*** 36,47 ****
static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95";
#endif /* LIBC_SCCS and not lint */
!
! int opterr = 1, /* if error message
should be printed */
! optind = 1, /* index into parent
argv vector */
! optopt, /* character checked
for validity */
! optreset; /* reset getopt */
char *optarg; /* argument associated with
option */
#define BADCH (int)'?'
#define BADARG (int)':'
--- 36,54 ----
static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95";
#endif /* LIBC_SCCS and not lint */
! /* In situation when we use getopt_long from libc, we needs to use libc
variable,
! * else it causes symbol overriding and optind contains nonsens.
! */
! #ifndef HAVE_GETOPT_LONG
! int opterr = 1; /* if error message
should be printed */
! int optind = 1; /* index into parent
argv vector */
! int optopt; /* character checked
for validity */
char *optarg; /* argument associated with
option */
+ #endif
+
+ #ifndef HAVE_INT_OPTRESET
+ int optreset; /* reset getopt */
+ #endif
#define BADCH (int)'?'
#define BADARG (int)':'
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers