Our getopt_long() doesn't do abbreviations or NLS
От | Tom Lane |
---|---|
Тема | Our getopt_long() doesn't do abbreviations or NLS |
Дата | |
Msg-id | 4875.1107209790@sss.pgh.pa.us обсуждение исходный текст |
Ответы |
Re: Our getopt_long() doesn't do abbreviations or NLS
|
Список | pgsql-hackers |
I just noticed that our port/getopt_long.c substitute implementation does not accept abbreviated names for long options: $ pg_dump --username tgl regression ... works ... $ pg_dump --user tgl regression pg_dump: illegal option -- user Try "pg_dump --help" for more information. $ The GNU implementation of getopt_long is documented to allow this: The getopt_long() function works like getopt() except that it also accepts long options, started out bytwo dashes. Long option names may be abbreviated if the abbreviation is unique or is an exact match for some defined option. A long option may take a parameter, of the form --arg=param or --arg param. and experimentation confirms it works. Barring objections, I'm going to modify our version to allow unique abbreviations too. I also notice that our version isn't i18n-ready: if (opterr && optstring[0] != ':') fprintf(stderr, "%s: illegal option --%s\n", argv[0], place); Should it be gettext'ified? regards, tom lane
В списке pgsql-hackers по дате отправления: