Revert recent commit re positional arguments.
authorAndrew Dunstan <andrew@dunslane.net>
Wed, 18 Apr 2012 14:56:16 +0000 (10:56 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Wed, 18 Apr 2012 14:56:16 +0000 (10:56 -0400)
src/bin/initdb/initdb.c
src/bin/scripts/clusterdb.c
src/bin/scripts/createlang.c
src/bin/scripts/droplang.c
src/bin/scripts/reindexdb.c
src/bin/scripts/vacuumdb.c

index 60d91a4e44ceebd7b7deb3161982fa5cf171cdec..32d47d8fc99eed5fe8eed746c8f738b47e78d4cc 100644 (file)
@@ -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++;
index 9eb0252462b5ee609e86b4990408ab62eb67a1af..5ad95167ccecea7705a566b543ae4d7876743ed5 100644 (file)
@@ -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();
index 0a006584061990ef9204bf0bfde3b9ed71c0b671..eba45328052e672f4ad6a3e7b7744bcd675c9365 100644 (file)
@@ -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++];
        }
    }
index b214b4ffbabd528acf0f82472b9e8dae3db0bb45..a4c1b62311aa987aa0f0a57fe9e4ca3a6bc52a8d 100644 (file)
@@ -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++];
        }
    }
index 9907750657dd9a564b6d90dda83fb40d13c565c1..f94a964179a079f49ebbbd377b190b52c43b768b 100644 (file)
@@ -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();
index 22540eb29f3219310fbc2e63b24ed802840f60f2..7f960a4559543c085b50f632e234d2aa6ad3ce11 100644 (file)
@@ -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();