Revert recent commit re positional arguments.

This commit is contained in:
Andrew Dunstan 2012-04-18 10:57:11 -04:00
parent 8d2ef107e6
commit e4129a0e61
6 changed files with 38 additions and 75 deletions

@ -2612,11 +2612,8 @@ main(int argc, char *argv[])
} }
/* /* Non-option argument specifies data directory */
* Non-option argument specifies data directory if (optind < argc)
* as long as it wasn't already specified with -D / --pgdata
*/
if (optind < argc && strlen(pg_data) == 0)
{ {
pg_data = xstrdup(argv[optind]); pg_data = xstrdup(argv[optind]);
optind++; optind++;

@ -106,18 +106,14 @@ main(int argc, char *argv[])
} }
} }
/* switch (argc - optind)
* Non-option argument specifies database name
* as long as it wasn't already specified with -d / --dbname
*/
if (optind < argc && dbname == NULL)
{ {
case 0:
break;
case 1:
dbname = argv[optind]; dbname = argv[optind];
optind++; break;
} default:
if (optind < argc)
{
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
progname, argv[optind + 1]); progname, argv[optind + 1]);
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);

@ -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 (argc - optind > 0)
{ {
if (listlangs) if (listlangs)
{
if (dbname == NULL)
dbname = argv[optind++]; dbname = argv[optind++];
}
else else
{ {
langname = argv[optind++]; langname = argv[optind++];
if (argc - optind > 0 && dbname == NULL) if (argc - optind > 0)
dbname = argv[optind++]; dbname = argv[optind++];
} }
} }

@ -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 (argc - optind > 0)
{ {
if (listlangs) if (listlangs)
{
if (dbname == NULL)
dbname = argv[optind++]; dbname = argv[optind++];
}
else else
{ {
langname = argv[optind++]; langname = argv[optind++];
if (argc - optind > 0 && dbname == NULL) if (argc - optind > 0)
dbname = argv[optind++]; dbname = argv[optind++];
} }
} }

@ -116,20 +116,15 @@ main(int argc, char *argv[])
} }
} }
/* switch (argc - optind)
* Non-option argument specifies database name
* as long as it wasn't already specified with -d / --dbname
*/
if (optind < argc && dbname == NULL)
{ {
case 0:
break;
case 1:
dbname = argv[optind]; dbname = argv[optind];
optind++; break;
} default:
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), progname, argv[optind + 1]);
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); fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
exit(1); exit(1);
} }

@ -123,19 +123,14 @@ main(int argc, char *argv[])
} }
} }
switch (argc - optind)
/*
* Non-option argument specifies database name
* as long as it wasn't already specified with -d / --dbname
*/
if (optind < argc && dbname == NULL)
{ {
case 0:
break;
case 1:
dbname = argv[optind]; dbname = argv[optind];
optind++; break;
} default:
if (optind < argc)
{
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
progname, argv[optind + 1]); progname, argv[optind + 1]);
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);