Use our own getopt() on OpenBSD.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: dc2dee438015ad390528c5c6f2d0118d248196f0
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2019-01-18T20:06:26Z
Releases: 9.5.16
Use our own getopt() on OpenBSD.

Recent OpenBSD (at least 5.9 and up) has a version of getopt(3)
that will not cope with the "-:" spec we use to accept double-dash
options in postgres.c and postmaster.c.  Admittedly, that's a hack
because POSIX only requires getopt() to allow alphanumeric option
characters.  I have no desire to find another way, however, so
let's just do what we were already doing on Solaris: force use
of our own src/port/getopt.c implementation.

In passing, improve some of the comments around said implementation.

Per buildfarm and local testing.  Back-patch to all supported branches.

Discussion: https://postgr.es/m/30197.1547835700@sss.pgh.pa.us

Files

PathChange+/−
configure modified +3 −3
configure.in modified +3 −3
src/include/pg_getopt.h modified +10 −0
src/port/getopt.c modified +5 −6

Discussion