diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2000-11-25 19:05:44 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2000-11-25 19:05:44 +0000 |
commit | fc6603ff75eb22c3ae9ba9d3ecde552cf06807cd (patch) | |
tree | 831b3e0aef01762ffb703eb1ed9dd1a93a5763d1 /src/backend/tcop/postgres.c | |
parent | c25b4dbf03a9b9e5bf79f2f7e2bcdcd9dc6263b9 (diff) | |
download | postgresql-fc6603ff75eb22c3ae9ba9d3ecde552cf06807cd.tar.gz postgresql-fc6603ff75eb22c3ae9ba9d3ecde552cf06807cd.zip |
Advertise --help (rather than '-?') as help option (problems with csh).
Accept --help even if no general long options support exists.
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r-- | src/backend/tcop/postgres.c | 49 |
1 files changed, 21 insertions, 28 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 86d80660d95..f7d3e1c1b02 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -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 @@ -1063,6 +1063,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 * * If we are running under the postmaster, this is done already. @@ -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"); } /* |