aboutsummaryrefslogtreecommitdiff
path: root/src/tutorial/complex.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-03-23 11:58:01 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2020-03-23 11:58:01 -0400
commitaae7e8530dac411fe4d9021e2392917458b37f8d (patch)
treea13b5b56cbba69f0929f4a9e4c79aad2a45c6f0d /src/tutorial/complex.c
parent26a26d9f2b20c2fab60ecb67e2f385abb784cc43 (diff)
downloadpostgresql-aae7e8530dac411fe4d9021e2392917458b37f8d.tar.gz
postgresql-aae7e8530dac411fe4d9021e2392917458b37f8d.zip
Fix our getopt_long's behavior for a command line argument of just "-".
src/port/getopt_long.c failed on such an argument, always seeing it as an unrecognized switch. This is unhelpful; better is to treat such an item as a non-switch argument. That behavior is what we find in GNU's getopt_long(); it's what src/port/getopt.c does; and it is required by POSIX for getopt(), which getopt_long() ought to be generally a superset of. Moreover, it's expected by ecpg, which intends an argument of "-" to mean "read from stdin". So fix it. Also add some documentation about ecpg's behavior in this area, since that was miserably underdocumented. I had to reverse-engineer it from the code. Per bug #16304 from James Gray. Back-patch to all supported branches, since this has been broken forever. Discussion: https://postgr.es/m/16304-c662b00a1322db7f@postgresql.org
Diffstat (limited to 'src/tutorial/complex.c')
0 files changed, 0 insertions, 0 deletions