diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/bootstrap/bootstrap.c | 7 | ||||
-rw-r--r-- | src/backend/postmaster/postmaster.c | 13 | ||||
-rw-r--r-- | src/backend/tcop/postgres.c | 12 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 4 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_restore.c | 8 | ||||
-rw-r--r-- | src/bin/pg_resetxlog/pg_resetxlog.c | 7 | ||||
-rw-r--r-- | src/bin/psql/startup.c | 2 | ||||
-rw-r--r-- | src/include/getopt_long.h | 10 | ||||
-rw-r--r-- | src/include/pg_getopt.h | 42 | ||||
-rw-r--r-- | src/include/port.h | 4 | ||||
-rw-r--r-- | src/port/getopt.c | 9 | ||||
-rw-r--r-- | src/test/isolation/isolationtester.c | 14 | ||||
-rw-r--r-- | src/timezone/zic.c | 6 |
13 files changed, 52 insertions, 86 deletions
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index ef6311b075b..c36e71d8066 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -17,9 +17,6 @@ #include <time.h> #include <unistd.h> #include <signal.h> -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif #include "access/htup_details.h" #include "bootstrap/bootstrap.h" @@ -29,6 +26,7 @@ #include "libpq/pqsignal.h" #include "miscadmin.h" #include "nodes/makefuncs.h" +#include "pg_getopt.h" #include "postmaster/bgwriter.h" #include "postmaster/startup.h" #include "postmaster/walwriter.h" @@ -46,9 +44,6 @@ #include "utils/relmapper.h" #include "utils/tqual.h" -extern int optind; -extern char *optarg; - uint32 bootstrap_data_checksum_version = 0; /* No checksum */ diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 7adc410b43a..6bb2a474857 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -83,10 +83,6 @@ #include <sys/select.h> #endif -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif - #ifdef USE_BONJOUR #include <dns_sd.h> #endif @@ -101,6 +97,7 @@ #include "libpq/libpq.h" #include "libpq/pqsignal.h" #include "miscadmin.h" +#include "pg_getopt.h" #include "pgstat.h" #include "postmaster/autovacuum.h" #include "postmaster/bgworker_internals.h" @@ -352,14 +349,6 @@ static volatile bool HaveCrashedWorker = false; static unsigned int random_seed = 0; static struct timeval random_start_time; -extern char *optarg; -extern int optind, - opterr; - -#ifdef HAVE_INT_OPTRESET -extern int optreset; /* might not be declared by system headers */ -#endif - #ifdef USE_BONJOUR static DNSServiceRef bonjour_sdref = NULL; #endif diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index b7612b9b5f7..a230d7eda69 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -32,9 +32,6 @@ #include <sys/time.h> #include <sys/resource.h> #endif -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif #ifndef HAVE_GETRUSAGE #include "rusagestub.h" @@ -55,6 +52,7 @@ #include "pg_trace.h" #include "parser/analyze.h" #include "parser/parser.h" +#include "pg_getopt.h" #include "postmaster/autovacuum.h" #include "postmaster/postmaster.h" #include "replication/walsender.h" @@ -77,14 +75,6 @@ #include "mb/pg_wchar.h" -extern char *optarg; -extern int optind; - -#ifdef HAVE_INT_OPTRESET -extern int optreset; /* might not be declared by system headers */ -#endif - - /* ---------------- * global variables * ---------------- diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 458a118dc02..2ce8e6dd00f 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -63,10 +63,6 @@ #include "dumputils.h" #include "parallel.h" -extern char *optarg; -extern int optind, - opterr; - typedef struct { diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index bb652538a44..df9477b69fa 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -43,6 +43,7 @@ #include "pg_backup_utils.h" #include "dumputils.h" #include "parallel.h" +#include "getopt_long.h" #include <ctype.h> @@ -50,13 +51,6 @@ #include <termios.h> #endif -#include <unistd.h> - -#include "getopt_long.h" - -extern char *optarg; -extern int optind; - #ifdef ENABLE_NLS #include <locale.h> #endif diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c index 03f2fad3f72..54690af0311 100644 --- a/src/bin/pg_resetxlog/pg_resetxlog.c +++ b/src/bin/pg_resetxlog/pg_resetxlog.c @@ -44,9 +44,6 @@ #include <sys/time.h> #include <time.h> #include <unistd.h> -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif #include "access/transam.h" #include "access/tuptoaster.h" @@ -55,9 +52,7 @@ #include "catalog/catversion.h" #include "catalog/pg_control.h" #include "common/fe_memutils.h" - -extern int optind; -extern char *optarg; +#include "pg_getopt.h" static ControlFileData ControlFile; /* pg_control values */ diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 91948014e5a..106199273f0 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -386,8 +386,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options) }; int optindex; - extern char *optarg; - extern int optind; int c; memset(options, 0, sizeof *options); diff --git a/src/include/getopt_long.h b/src/include/getopt_long.h index 563719b3f7c..e23c21f333c 100644 --- a/src/include/getopt_long.h +++ b/src/include/getopt_long.h @@ -9,15 +9,7 @@ #ifndef GETOPT_LONG_H #define GETOPT_LONG_H -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif - -/* These are picked up from the system's getopt() facility. */ -extern int opterr; -extern int optind; -extern int optopt; -extern char *optarg; +#include "pg_getopt.h" #ifndef HAVE_STRUCT_OPTION diff --git a/src/include/pg_getopt.h b/src/include/pg_getopt.h new file mode 100644 index 00000000000..648800414e3 --- /dev/null +++ b/src/include/pg_getopt.h @@ -0,0 +1,42 @@ +/* + * 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; + +#ifdef HAVE_INT_OPTRESET +extern int optreset; +#endif + +#endif /* HAVE_GETOPT_H */ + +#ifndef HAVE_GETOPT +extern int getopt(int nargc, char *const * nargv, const char *ostr); +#endif + +#endif /* PG_GETOPT_H */ diff --git a/src/include/port.h b/src/include/port.h index f50fbecf010..aeb7754cb09 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -382,10 +382,6 @@ extern int fls(int mask); #define ftello(a) ftell(a) #endif -#ifndef HAVE_GETOPT -extern int getopt(int nargc, char *const * nargv, const char *ostr); -#endif - #if !defined(HAVE_GETPEEREID) && !defined(WIN32) extern int getpeereid(int sock, uid_t *uid, gid_t *gid); #endif diff --git a/src/port/getopt.c b/src/port/getopt.c index eb50cba1ca4..b81fba14b07 100644 --- a/src/port/getopt.c +++ b/src/port/getopt.c @@ -32,6 +32,8 @@ #include "c.h" +#include "pg_getopt.h" + #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95"; #endif /* LIBC_SCCS and not lint */ @@ -49,20 +51,13 @@ int opterr = 1, /* if error message should be printed */ optind = 1, /* index into parent argv vector */ optopt; /* character checked for validity */ char *optarg; /* argument associated with option */ -#else -extern int opterr; -extern int optind; -extern int optopt; -extern char *optarg; #endif #define BADCH (int)'?' #define BADARG (int)':' #define EMSG "" -int getopt(int nargc, char *const * nargv, const char *ostr); - /* * getopt * Parse argc/argv argument vector. diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c index e936c01532f..ad6732aee78 100644 --- a/src/test/isolation/isolationtester.c +++ b/src/test/isolation/isolationtester.c @@ -10,29 +10,17 @@ #ifdef WIN32 #include <windows.h> #endif - -#ifndef WIN32 #include <sys/time.h> -#include <unistd.h> - -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif -#else -int getopt(int argc, char *const argv[], const char *optstring); -#endif /* ! WIN32 */ - #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #include "libpq-fe.h" #include "pqexpbuffer.h" +#include "pg_getopt.h" #include "isolationtester.h" -extern int optind; - #define PREP_WAITING "isolationtester_waiting" /* diff --git a/src/timezone/zic.c b/src/timezone/zic.c index a399d1f0f19..cda704266ad 100644 --- a/src/timezone/zic.c +++ b/src/timezone/zic.c @@ -8,15 +8,11 @@ #include "postgres_fe.h" -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#endif #include <limits.h> #include <locale.h> #include <time.h> -extern int optind; -extern char *optarg; +#include "pg_getopt.h" #include "private.h" #include "pgtz.h" |