summaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-12-16 16:22:12 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2010-12-16 16:22:12 -0500
commit77451164e9936ac70ffdaca7e7f2c5eb7e148850 (patch)
tree1db421074683381569e5ec462b9709e5e9bde130 /src/backend/tcop/postgres.c
parent770bddc1b4b59338395185966100056d90e6dcf9 (diff)
Remove optreset from src/port/ implementations of getopt and getopt_long.
We don't actually need optreset, because we can easily fix the code to ensure that it's cleanly restartable after having completed a scan over the argv array; which is the only case we need to restart in. Getting rid of it avoids a class of interactions with the system libraries and allows reversion of my change of yesterday in postmaster.c and postgres.c. Back-patch to 8.4. Before that the getopt code was a bit different anyway.
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r--src/backend/tcop/postgres.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 052b2565570..62adaca2174 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -77,8 +77,7 @@
extern char *optarg;
extern int optind;
-/* If not HAVE_GETOPT, we are using src/port/getopt.c, which has optreset */
-#if defined(HAVE_INT_OPTRESET) || !defined(HAVE_GETOPT)
+#ifdef HAVE_INT_OPTRESET
extern int optreset; /* might not be declared by system headers */
#endif
@@ -3440,7 +3439,7 @@ process_postgres_switches(int argc, char *argv[], GucContext ctx)
* or when this function is called a second time with another array.
*/
optind = 1;
-#if defined(HAVE_INT_OPTRESET) || !defined(HAVE_GETOPT)
+#ifdef HAVE_INT_OPTRESET
optreset = 1; /* some systems need this too */
#endif