pgsql: Fix our getopt_long's behavior for a command line argument of ju
От | Tom Lane |
---|---|
Тема | pgsql: Fix our getopt_long's behavior for a command line argument of ju |
Дата | |
Msg-id | E1jGPT4-0008KA-NW@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
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 Branch ------ REL9_5_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/5f9eace5db4ef9d020aef44f972cea627b663932 Modified Files -------------- doc/src/sgml/ref/ecpg-ref.sgml | 31 ++++++++++++++++++++++++++----- src/port/getopt_long.c | 14 +++++++++++--- 2 files changed, 37 insertions(+), 8 deletions(-)
В списке pgsql-committers по дате отправления: