Revert recent commit re positional arguments.
authorAndrew Dunstan
Wed, 18 Apr 2012 14:58:01 +0000 (10:58 -0400)
committerAndrew Dunstan
Wed, 18 Apr 2012 14:58:01 +0000 (10:58 -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 bbc7997930351d4180e5b68467d3b3d6d3974d31..7ca4c934318ab0531f3012eba1f6989ba4c11049 100644 (file)
@@ -2563,11 +2563,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 8fe494a7527d7c445c7cd136deb4c8f157d8fd79..c2b2020af78c5ef31584a5ba7f7792b9dd8005a0 100644 (file)
@@ -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();
index ff86ec5949f0d27ef41d5c1dd57c2631f8a0db90..a36b39bdeea66f89c004a3efe65ee03e06e5492d 100644 (file)
@@ -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++];
        }
    }
index a7a9f3f283c9ae87cca92203e03095f4beab7d9f..b634506f0fb5a1a2df33a67c444f77447764196e 100644 (file)
@@ -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++];
        }
    }
index 47fbcde1255caae1a41fc086c5c63e18c37abea5..9781b3eb0886a74315c893ff848c3b09282edd54 100644 (file)
@@ -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();
index ccf4b3153eda7f4a053a972e5c4a8779990a379d..0bac34954d4b6aaecb783af17aa8935f79269d44 100644 (file)
@@ -129,23 +129,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);
    }
 
    if (analyze_only)