From: Andrew Dunstan Date: Wed, 18 Apr 2012 14:56:16 +0000 (-0400) Subject: Revert recent commit re positional arguments. X-Git-Tag: REL8_3_19~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=062f113e52fd63ffd8c2e7f4e24c9b2087d386c1;p=thirdparty%2Fpostgresql.git Revert recent commit re positional arguments. --- diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 60d91a4e44c..32d47d8fc99 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -2561,11 +2561,8 @@ main(int argc, char *argv[]) } - /* - * Non-option argument specifies data directory - * as long as it wasn't already specified with -D / --pgdata - */ - if (optind < argc && strlen(pg_data) == 0) + /* Non-option argument specifies data directory */ + if (optind < argc) { pg_data = xstrdup(argv[optind]); optind++; diff --git a/src/bin/scripts/clusterdb.c b/src/bin/scripts/clusterdb.c index 9eb0252462b..5ad95167cce 100644 --- a/src/bin/scripts/clusterdb.c +++ b/src/bin/scripts/clusterdb.c @@ -97,22 +97,18 @@ main(int argc, char *argv[]) } } - /* - * Non-option argument specifies database name - * as long as it wasn't already specified with -d / --dbname - */ - if (optind < argc && dbname == NULL) + switch (argc - optind) { - dbname = argv[optind]; - optind++; - } - - if (optind < argc) - { - fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), - progname, argv[optind + 1]); - fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); - exit(1); + case 0: + break; + case 1: + dbname = argv[optind]; + break; + default: + fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), + progname, argv[optind + 1]); + fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); + exit(1); } setup_cancel_handler(); diff --git a/src/bin/scripts/createlang.c b/src/bin/scripts/createlang.c index 0a006584061..eba45328052 100644 --- a/src/bin/scripts/createlang.c +++ b/src/bin/scripts/createlang.c @@ -87,24 +87,14 @@ main(int argc, char *argv[]) } } - /* - * We set dbname from positional arguments if it is not - * already set by option arguments -d. If not doing - * listlangs, positional dbname must follow positional - * langname. - */ - if (argc - optind > 0) { if (listlangs) - { - if (dbname == NULL) - dbname = argv[optind++]; - } + dbname = argv[optind++]; else { langname = argv[optind++]; - if (argc - optind > 0 && dbname == NULL) + if (argc - optind > 0) dbname = argv[optind++]; } } diff --git a/src/bin/scripts/droplang.c b/src/bin/scripts/droplang.c index b214b4ffbab..a4c1b62311a 100644 --- a/src/bin/scripts/droplang.c +++ b/src/bin/scripts/droplang.c @@ -98,24 +98,14 @@ main(int argc, char *argv[]) } } - /* - * We set dbname from positional arguments if it is not - * already set by option arguments -d. If not doing - * listlangs, positional dbname must follow positional - * langname. - */ - if (argc - optind > 0) { if (listlangs) - { - if (dbname == NULL) - dbname = argv[optind++]; - } + dbname = argv[optind++]; else { langname = argv[optind++]; - if (argc - optind > 0 && dbname == NULL) + if (argc - optind > 0) dbname = argv[optind++]; } } diff --git a/src/bin/scripts/reindexdb.c b/src/bin/scripts/reindexdb.c index 9907750657d..f94a964179a 100644 --- a/src/bin/scripts/reindexdb.c +++ b/src/bin/scripts/reindexdb.c @@ -112,22 +112,17 @@ main(int argc, char *argv[]) } } - /* - * Non-option argument specifies database name - * as long as it wasn't already specified with -d / --dbname - */ - if (optind < argc && dbname == NULL) + switch (argc - optind) { - dbname = argv[optind]; - optind++; - } - - if (optind < argc) - { - fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), - progname, argv[optind + 1]); - fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); - exit(1); + case 0: + break; + case 1: + dbname = argv[optind]; + break; + default: + fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), progname, argv[optind + 1]); + fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); + exit(1); } setup_cancel_handler(); diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 22540eb29f3..7f960a45595 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -114,23 +114,18 @@ main(int argc, char *argv[]) } } - - /* - * Non-option argument specifies database name - * as long as it wasn't already specified with -d / --dbname - */ - if (optind < argc && dbname == NULL) + switch (argc - optind) { - dbname = argv[optind]; - optind++; - } - - if (optind < argc) - { - fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), - progname, argv[optind + 1]); - fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); - exit(1); + case 0: + break; + case 1: + dbname = argv[optind]; + break; + default: + fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), + progname, argv[optind + 1]); + fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); + exit(1); } setup_cancel_handler();