postgresql/src/include/pg_getopt.h
Tom Lane 1e81f8462a Fix comment.
Previous commit was confused about the case we're handling: actually,
what the patch is dealing with is platforms that have optreset, *and*
have <getopt.h>, but the latter fails to declare the former.  Because
we use a linking probe to set HAVE_INT_OPTRESET, we need to be sure we
have a declaration even if <getopt.h> doesn't think it exists.
2014-05-08 12:42:56 -04:00

47 lines
1.1 KiB
C

/*
* Portions Copyright (c) 1987, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
* Portions Copyright (c) 2003-2014, PostgreSQL Global Development Group
*
* src/include/pg_getopt.h
*/
#ifndef PG_GETOPT_H
#define PG_GETOPT_H
/* POSIX says getopt() is provided by unistd.h */
#include <unistd.h>
/* rely on the system's getopt.h if present */
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
/*
* If we have <getopt.h>, assume it declares these variables, else do that
* ourselves. (We used to just declare them unconditionally, but Cygwin
* doesn't like that.)
*/
#ifndef HAVE_GETOPT_H
extern char *optarg;
extern int optind;
extern int opterr;
extern int optopt;
#endif /* HAVE_GETOPT_H */
/*
* Some platforms have optreset but fail to declare it in <getopt.h>, so cope.
* Cygwin, however, doesn't like this either.
*/
#if defined(HAVE_INT_OPTRESET) && !defined(__CYGWIN__)
extern int optreset;
#endif
#ifndef HAVE_GETOPT
extern int getopt(int nargc, char *const * nargv, const char *ostr);
#endif
#endif /* PG_GETOPT_H */