summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2012-04-18 10:57:11 -0400
committerAndrew Dunstan <andrew@dunslane.net>2012-04-18 10:57:11 -0400
commite4129a0e618e9dd3c5c1e58b8f90208245d08223 (patch)
tree89ac83c13bd946de020f711abff79f73ddd82c0c
parent8d2ef107e6b0ed1574ab7aaf437480a7473004e7 (diff)
Revert recent commit re positional arguments.
-rw-r--r--src/bin/initdb/initdb.c7
-rw-r--r--src/bin/scripts/clusterdb.c26
-rw-r--r--src/bin/scripts/createlang.c14
-rw-r--r--src/bin/scripts/droplang.c14
-rw-r--r--src/bin/scripts/reindexdb.c25
-rw-r--r--src/bin/scripts/vacuumdb.c27
6 files changed, 38 insertions, 75 deletions
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 34705eee357..0febcf1fcfb 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -2612,11 +2612,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 30cdf034999..c690de36cc9 100644
--- a/src/bin/scripts/clusterdb.c
+++ b/src/bin/scripts/clusterdb.c
@@ -106,22 +106,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 05dd048af95..d00cb63a8b0 100644
--- a/src/bin/scripts/createlang.c
+++ b/src/bin/scripts/createlang.c
@@ -91,24 +91,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 31ac98f4c8d..7038e08b8af 100644
--- a/src/bin/scripts/droplang.c
+++ b/src/bin/scripts/droplang.c
@@ -102,24 +102,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 4e0d9ba0a07..3651707981c 100644
--- a/src/bin/scripts/reindexdb.c
+++ b/src/bin/scripts/reindexdb.c
@@ -116,22 +116,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 d3acbb5bb48..13081b4fc0e 100644
--- a/src/bin/scripts/vacuumdb.c
+++ b/src/bin/scripts/vacuumdb.c
@@ -123,23 +123,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();