Advertise --help (rather than '-?') as help option (problems with csh).
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 25 Nov 2000 19:05:44 +0000 (19:05 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sat, 25 Nov 2000 19:05:44 +0000 (19:05 +0000)
Accept --help even if no general long options support exists.

13 files changed:
src/backend/postmaster/postmaster.c
src/backend/tcop/postgres.c
src/bin/initdb/initdb.sh
src/bin/initlocation/initlocation.sh
src/bin/pg_passwd/pg_passwd.c
src/bin/psql/startup.c
src/bin/scripts/createdb
src/bin/scripts/createlang.sh
src/bin/scripts/createuser
src/bin/scripts/dropdb
src/bin/scripts/droplang
src/bin/scripts/dropuser
src/bin/scripts/vacuumdb

index 32ebb2c48ea1494519d1d16530286efb456c1602..805fd679bed1bac81016ac4a7fbc8e5aa171e1d5 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.190 2000/11/25 04:13:17 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.191 2000/11/25 19:05:42 petere Exp $
  *
  * NOTES
  *
@@ -310,6 +310,25 @@ PostmasterMain(int argc, char *argv[])
    real_argv = argv;
    real_argc = argc;
 
+   /*
+    * Catch standard options before doing much else.  This even works
+    * on systems without getopt_long.
+    */
+   if (argc > 1)
+   {
+       if (strcmp(argv[1], "--help")==0 || strcmp(argv[1], "-?")==0)
+       {
+           usage(progname);
+           exit(0);
+       }
+       if (strcmp(argv[1], "--version")==0 || strcmp(argv[1], "-V")==0)
+       {
+           puts("postmaster (PostgreSQL) " PG_VERSION);
+           exit(0);
+       }
+   }       
+
+
    /*
     * for security, no dir or file created can be group or other
     * accessible
@@ -358,7 +377,7 @@ PostmasterMain(int argc, char *argv[])
     * will occur.
     */
    opterr = 1;
-   while ((opt = getopt(argc, argv, "A:a:B:b:c:D:d:Fh:ik:lm:MN:no:p:SsV-:?")) != EOF)
+   while ((opt = getopt(argc, argv, "A:a:B:b:c:D:d:Fh:ik:lm:MN:no:p:Ss-:")) != EOF)
    {
        switch(opt)
        {
@@ -366,43 +385,22 @@ PostmasterMain(int argc, char *argv[])
                potential_DataDir = optarg;
                break;
 
-           case 'V':
-               puts("postmaster (PostgreSQL) " PG_VERSION);
-               exit(0);
-
-           case '-':
-           {
-               char *name, *value;
-           
-               ParseLongOption(optarg, &name, &value);
-               if (strcmp(name, "help")==0)
-               {
-                   usage(progname);
-                   exit(0);
-               }
-               else if (strcmp(name, "version")==0)
-               {
-                   puts("postmaster (PostgreSQL) " PG_VERSION);
-                   exit(0);
-               }
-               break;
-           }
-
            case '?':
-               if (strcmp(argv[optind - 1], "-?") == 0)
-               {
-                   usage(progname);
-                   exit(0);
-               }
-               else
-               {
-                   fprintf(stderr, "Try -? for help.\n");
-                   exit(1);
-               }
-               break;
+               fprintf(stderr, "Try '%s --help' for more information.\n", progname);
+               exit(1);
        }
    }
 
+   /*
+    * Non-option switch arguments don't exist.
+    */
+   if (optind < argc)
+   {
+       fprintf(stderr, "%s: invalid argument -- %s\n", progname, argv[optind]);
+       fprintf(stderr, "Try '%s --help' for more information.\n", progname);
+       exit(1);
+   }
+
    checkDataDir(potential_DataDir);    /* issues error messages */
    SetDataDir(potential_DataDir);
 
@@ -414,7 +412,7 @@ PostmasterMain(int argc, char *argv[])
 #ifdef HAVE_INT_OPTRESET
    optreset = 1;
 #endif
-   while ((opt = getopt(argc, argv, "A:a:B:b:c:D:d:Fh:ik:lm:MN:no:p:SsV-:?")) != EOF)
+   while ((opt = getopt(argc, argv, "A:a:B:b:c:D:d:Fh:ik:lm:MN:no:p:Ss-:")) != EOF)
    {
        switch (opt)
        {
@@ -546,20 +544,11 @@ PostmasterMain(int argc, char *argv[])
 
            default:
                /* shouldn't get here */
-               fprintf(stderr, "Try -? for help.\n");
+               fprintf(stderr, "Try '%s --help' for more information.\n", progname);
                exit(1);
        }
    }
 
-   /*
-    * Non-option switch arguments don't exist.
-    */
-   if (optind < argc)
-   {
-       fprintf(stderr, "%s: invalid argument -- %s\n", progname, argv[optind]);
-       exit(1);
-   }
-
    /*
     * Check for invalid combinations of switches
     */
index 86d80660d953dac898944b7a2f20ccf4372e0118..f7d3e1c1b02110bfa5e654f83869a625fc6755a5 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.189 2000/11/21 21:16:02 petere Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.190 2000/11/25 19:05:42 petere Exp $
  *
  * NOTES
  *   this is the "main" module of the postgres backend and
@@ -1062,6 +1062,24 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
 
    char       *potential_DataDir = NULL;
 
+   /*
+    * Catch standard options before doing much else.  This even works
+    * on systems without getopt_long.
+    */
+   if (!IsUnderPostmaster && argc > 1)
+   {
+       if (strcmp(argv[1], "--help")==0 || strcmp(argv[1], "-?")==0)
+       {
+           usage(argv[0]);
+           exit(0);
+       }
+       if (strcmp(argv[1], "--version")==0 || strcmp(argv[1], "-V")==0)
+       {
+           puts("postgres (PostgreSQL) " PG_VERSION);
+           exit(0);
+       }
+   }       
+
    /*
     * Fire up essential subsystems: error and memory management
     *
@@ -1110,7 +1128,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
 
    optind = 1;                 /* reset after postmaster's usage */
 
-   while ((flag = getopt(argc, argv,  "A:B:c:CD:d:Eef:FiLNOPo:p:S:st:v:VW:x:-:?")) != EOF)
+   while ((flag = getopt(argc, argv,  "A:B:c:CD:d:Eef:FiLNOPo:p:S:st:v:W:x:-:")) != EOF)
        switch (flag)
        {
            case 'A':
@@ -1336,10 +1354,6 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
                    FrontendProtocol = (ProtocolVersion) atoi(optarg);
                break;
 
-           case 'V':
-               puts("postgres (PostgreSQL) " PG_VERSION);
-               exit(0);
-
            case 'W':
                /* ----------------
                 *  wait N seconds to allow attach from a debugger
@@ -1387,16 +1401,6 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
                char *name, *value;
 
                ParseLongOption(optarg, &name, &value);
-               if (strcmp(name, "help")==0)
-               {
-                   usage(argv[0]);
-                   exit(0);
-               }
-               else if (strcmp(name, "version")==0)
-               {
-                   puts("postgres (PostgreSQL) " PG_VERSION);
-                   exit(0);
-               }
                if (!value)
                {
                    if (flag == '-')
@@ -1412,18 +1416,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
                break;
            }
 
-           case '?':
-               if (strcmp(argv[optind - 1], "-?") == 0)
-               {
-                   usage(argv[0]);
-                   exit(0);
-               }
-               else
-                   errs++;
-               break;
-
            default:
-               /* shouldn't get here */
                errs++;
                break;
        }
@@ -1643,7 +1636,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[], const cha
    if (!IsUnderPostmaster)
    {
        puts("\nPOSTGRES backend interactive interface ");
-       puts("$Revision: 1.189 $ $Date: 2000/11/21 21:16:02 $\n");
+       puts("$Revision: 1.190 $ $Date: 2000/11/25 19:05:42 $\n");
    }
 
    /*
index 22843e6fd95fc89e44df85992e036caebf989051..b83b1810250221e888e06f88957a16cce64fa9da 100644 (file)
@@ -24,7 +24,7 @@
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.116 2000/11/21 20:55:57 tgl Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.117 2000/11/25 19:05:43 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -253,7 +253,7 @@ do
                 ;;
    -*)
        echo "$CMDNAME: invalid option: $1"
-       echo "Try '$CMDNAME -?' for help."
+       echo "Try '$CMDNAME --help' for more information."
        exit 1
        ;;
         *)
index df8abda1f43d70cc733163ffdadd3833d0cfe29a..10c802c228d232a83adf8e676e6f4d15fce69285 100644 (file)
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/initlocation/Attic/initlocation.sh,v 1.9 2000/11/11 22:59:46 petere Exp $
+#    $Header: /cvsroot/pgsql/src/bin/initlocation/Attic/initlocation.sh,v 1.10 2000/11/25 19:05:43 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -51,7 +51,7 @@ do
 
    -*)
             echo "$CMDNAME: invalid option: $1" 1>&2
-            echo "Try '$CMDNAME -?' for help." 1>&2
+            echo "Try '$CMDNAME --help' for more information." 1>&2
             exit 1
             ;;
    *)
index 6faad3088beae11ffe3470c3244aace39f8c729f..db057c88783842aa26cba2def88b41e66fb6a5be 100644 (file)
@@ -333,7 +333,7 @@ main(int argc, char *argv[])
 
    if (argc != 2)
    {
-       fprintf(stderr, "%s: too %s arguments\nTry '%s -?' for help.\n",
+       fprintf(stderr, "%s: too %s arguments\nTry '%s --help' for more information.\n",
                progname, argc > 2 ? "many" : "few", progname);
        exit(1);
    }
@@ -350,7 +350,7 @@ main(int argc, char *argv[])
    }
    if (argv[1][0] == '-')
    {
-       fprintf(stderr, "%s: invalid option: %s\nTry '%s -?' for help.\n",
+       fprintf(stderr, "%s: invalid option: %s\nTry '%s --help' for more information.\n",
                progname, argv[1], progname);
        exit(1);
    }
index 46e476a2ae013e8470b40976f834b6d7ab20b517..1a66d5fce361d854cfbaf95df640bcd2232a88bd 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.39 2000/11/13 23:37:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.40 2000/11/25 19:05:44 petere Exp $
  */
 #include "postgres.h"
 
@@ -107,6 +107,20 @@ main(int argc, char *argv[])
    else
        pset.progname = strrchr(argv[0], SEP_CHAR) + 1;
 
+   if (argc > 1)
+   {
+       if (strcmp(argv[1], "--help")==0 || strcmp(argv[1], "-?")==0)
+       {
+           usage();
+           exit(EXIT_SUCCESS);
+       }
+       if (strcmp(argv[1], "--version")==0 || strcmp(argv[1], "-V")==0)
+       {
+           showVersion();
+           exit(EXIT_SUCCESS);
+       }
+   }       
+
    pset.cur_cmd_source = stdin;
    pset.cur_cmd_interactive = false;
    pset.encoding = PQenv2encoding();
@@ -520,19 +534,21 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
                /* unknown option reported by getopt */
                else
                {
-                   fputs("Try -? for help.\n", stderr);
+                   fprintf(stderr, "Try '%s --help' for more information.\n",
+                           pset.progname);
                    exit(EXIT_FAILURE);
                }
                break;
 #ifndef HAVE_GETOPT_LONG
            case '-':
                fprintf(stderr, "%s was compiled without support for long options.\n"
-                       "Use -? for help on invocation options.\n", pset.progname);
+                       "Use --help for help on invocation options.\n", pset.progname);
                exit(EXIT_FAILURE);
                break;
 #endif
            default:
-               fputs("Try -? for help.\n", stderr);
+               fprintf(stderr, "Try '%s --help' for more information.\n",
+                       pset.progname);
                exit(EXIT_FAILURE);
                break;
        }
index e506af5885cd0dec75b397ac36b99caeedb72409..3937b619138dd8e720071066d85ef3bfb451bdf6 100644 (file)
@@ -11,7 +11,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.11 2000/11/13 23:37:53 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.12 2000/11/25 19:05:44 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -89,7 +89,7 @@ do
                 ;;
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
    *)
index 02c27aaf90bb1bad2d3d843384ff43f2c2c586b7..db4189bd0724e1c0bc78695c85e849d2d95a3cb8 100644 (file)
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.20 2000/11/20 20:36:50 tgl Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.21 2000/11/25 19:05:44 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -99,7 +99,7 @@ do
 
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
     *)
index e3859eb2a7537ee91a09ece7b368cdd0bf2b6f91..37a763680557df3770fae43d1ede4dc86bde69e1 100644 (file)
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.14 2000/11/13 23:37:53 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.15 2000/11/25 19:05:44 petere Exp $
 #
 # Note - this should NOT be setuid.
 #
@@ -110,7 +110,7 @@ do
        ;;
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
          *)
index 35bb08a71afb341dcc255eb7c376eec4e980b5ff..a3db4babe32d2f989715a7109f95545ce4228d01 100644 (file)
@@ -10,7 +10,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.9 2000/11/13 23:37:53 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.10 2000/11/25 19:05:44 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -83,7 +83,7 @@ do
        ;;
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
     *)
index 023ae4fc996e5ffe2358dded9df4b411d178c8e1..43154b2e7d8ec1e9034c4822f6340d9d280fde4b 100644 (file)
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.10 2000/11/13 23:37:53 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.11 2000/11/25 19:05:44 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -89,7 +89,7 @@ do
 
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
     *)
index e7be5dc867ac3120ac9fe4489d0c4ee3ea71bf5f..21e71d870585b14ed5e5c5f3077f46f892dc95b7 100644 (file)
@@ -8,7 +8,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.9 2000/11/13 23:37:53 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.10 2000/11/25 19:05:44 petere Exp $
 #
 # Note - this should NOT be setuid.
 #
@@ -85,7 +85,7 @@ do
        ;;
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
          *)
index 0981f31e72c8e6b169431ecb76d43bdddb396d5a..9b310327a1f2f61f1265698ef8b04be0373cc597 100644 (file)
@@ -11,7 +11,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.12 2000/11/13 23:37:53 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.13 2000/11/25 19:05:44 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -102,7 +102,7 @@ do
 
    -*)
        echo "$CMDNAME: invalid option: $1" 1>&2
-                echo "Try '$CMDNAME -?' for help." 1>&2
+                echo "Try '$CMDNAME --help' for more information." 1>&2
        exit 1
        ;;
    *)