]> granicus.if.org Git - postgresql/commitdiff
Allow for platforms that have optreset but not <getopt.h>.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 May 2014 16:33:29 +0000 (12:33 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 May 2014 16:33:29 +0000 (12:33 -0400)
Reportedly, some versions of mingw are like that, and it seems plausible
in general that older platforms might be that way.  However, we'd
determined experimentally that just doing "extern int" conflicts with
the way Cygwin declares these variables, so explicitly exclude Cygwin.

Michael Paquier, tweaked by me to hopefully not break Cygwin

src/include/pg_getopt.h

index 648800414e3255c55786613350b44818f9cc3438..0b38404ed3b8a8277b791b75f90eb44e340a8c2c 100644 (file)
@@ -29,12 +29,16 @@ extern int  optind;
 extern int     opterr;
 extern int     optopt;
 
-#ifdef HAVE_INT_OPTRESET
+#endif   /* HAVE_GETOPT_H */
+
+/*
+ * Some platforms have optreset but not <getopt.h>.  Cygwin, however,
+ * doesn't like this either.
+ */
+#if defined(HAVE_INT_OPTRESET) && !defined(__CYGWIN__)
 extern int     optreset;
 #endif
 
-#endif   /* HAVE_GETOPT_H */
-
 #ifndef HAVE_GETOPT
 extern int     getopt(int nargc, char *const * nargv, const char *ostr);
 #endif