Remove optreset from src/port/ implementations of getopt and getopt_long.
Tom Lane <tgl@sss.pgh.pa.us>
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.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/postmaster/postmaster.c | modified | +2 −3 |
| src/backend/tcop/postgres.c | modified | +2 −3 |
| src/include/getopt_long.h | modified | +0 −1 |
| src/port/getopt.c | modified | +11 −9 |
| src/port/getopt_long.c | modified | +11 −9 |