1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-02 04:21:28 +03:00

Use our own version of getopt_long() if the OS doesn't have one.

This commit is contained in:
Peter Eisentraut
2003-01-06 18:53:25 +00:00
parent 6e90803f90
commit 939a59ffc6
14 changed files with 280 additions and 200 deletions

View File

@@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.313 2002/12/27 17:10:45 tgl Exp $
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.314 2003/01/06 18:53:24 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -40,6 +40,11 @@
#include "strdup.h"
#endif
#ifndef HAVE_GETOPT_LONG
#include "getopt_long.h"
int optreset;
#endif
#include "access/attnum.h"
#include "access/htup.h"
#include "catalog/pg_class.h"
@@ -179,7 +184,6 @@ main(int argc, char **argv)
RestoreOptions *ropt;
#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{"data-only", no_argument, NULL, 'a'},
{"blobs", no_argument, NULL, 'b'},
@@ -218,7 +222,6 @@ main(int argc, char **argv)
{NULL, 0, NULL, 0}
};
int optindex;
#endif
#ifdef ENABLE_NLS
setlocale(LC_ALL, "");
@@ -260,12 +263,8 @@ main(int argc, char **argv)
}
}
#ifdef HAVE_GETOPT_LONG
while ((c = getopt_long(argc, argv, "abcCdDf:F:h:ioOp:RsS:t:uU:vWxX:Z:", long_options, &optindex)) != -1)
#else
while ((c = getopt(argc, argv, "abcCdDf:F:h:ioOp:RsS:t:uU:vWxX:Z:-")) != -1)
#endif
while ((c = getopt_long(argc, argv, "abcCdDf:F:h:ioOp:RsS:t:uU:vWxX:Z:",
long_options, &optindex)) != -1)
{
switch (c)
{
@@ -415,23 +414,15 @@ main(int argc, char **argv)
exit(1);
}
break;
case 'Z': /* Compression Level */
compressLevel = atoi(optarg);
break;
#ifndef HAVE_GETOPT_LONG
case '-':
fprintf(stderr,
_("%s was compiled without support for long options.\n"
"Use --help for help on invocation options.\n"),
progname);
exit(1);
break;
#else
/* This covers the long options equivalent to -X xxx. */
case 0:
break;
#endif
default:
fprintf(stderr, _("Try '%s --help' for more information.\n"), progname);
exit(1);
@@ -658,26 +649,16 @@ help(const char *progname)
printf(_(" %s [OPTION]... [DBNAME]\n"), progname);
printf(_("\nGeneral options:\n"));
#ifdef HAVE_GETOPT_LONG
printf(_(" -f, --file=FILENAME output file name\n"));
printf(_(" -F, --format=c|t|p output file format (custom, tar, plain text)\n"));
printf(_(" -i, --ignore-version proceed even when server version mismatches\n"
" pg_dump version\n"));
printf(_(" -v, --verbose verbose mode\n"));
printf(_(" -Z, --compress=0-9 compression level for compressed formats\n"));
#else /* not HAVE_GETOPT_LONG */
printf(_(" -f FILENAME output file name\n"));
printf(_(" -F c|t|p output file format (custom, tar, plain text)\n"));
printf(_(" -i proceed even when server version mismatches\n"
" pg_dump version\n"));
printf(_(" -v verbose mode\n"));
printf(_(" -Z 0-9 compression level for compressed formats\n"));
#endif /* not HAVE_GETOPT_LONG */
printf(_(" --help show this help, then exit\n"));
printf(_(" --version output version information, then exit\n"));
printf(_("\nOptions controlling the output content:\n"));
#ifdef HAVE_GETOPT_LONG
printf(_(" -a, --data-only dump only the data, not the schema\n"));
printf(_(" -b, --blobs include large objects in dump\n"));
printf(_(" -c, --clean clean (drop) schema prior to create\n"));
@@ -699,41 +680,12 @@ help(const char *progname)
" than \\connect commands\n"));
printf(_(" -X disable-triggers, --disable-triggers\n"
" disable triggers during data-only restore\n"));
#else /* not HAVE_GETOPT_LONG */
printf(_(" -a dump only the data, not the schema\n"));
printf(_(" -b include large objects in dump\n"));
printf(_(" -c clean (drop) schema prior to create\n"));
printf(_(" -C include commands to create database in dump\n"));
printf(_(" -d dump data as INSERT, rather than COPY, commands\n"));
printf(_(" -D dump data as INSERT commands with column names\n"));
printf(_(" -o include OIDs in dump\n"));
printf(_(" -O do not output \\connect commands in plain\n"
" text format\n"));
printf(_(" -R disable ALL reconnections to the database in\n"
" plain text format\n"));
printf(_(" -s dump only the schema, no data\n"));
printf(_(" -S NAME specify the superuser user name to use in\n"
" plain text format\n"));
printf(_(" -t TABLE dump this table only (* for all)\n"));
printf(_(" -x do not dump privileges (grant/revoke)\n"));
printf(_(" -X use-set-session-authorization\n"
" output SET SESSION AUTHORIZATION commands rather\n"
" than \\connect commands\n"));
printf(_(" -X disable-triggers disable triggers during data-only restore\n"));
#endif /* not HAVE_GETOPT_LONG */
printf(_("\nConnection options:\n"));
#ifdef HAVE_GETOPT_LONG
printf(_(" -h, --host=HOSTNAME database server host name\n"));
printf(_(" -p, --port=PORT database server port number\n"));
printf(_(" -U, --username=NAME connect as specified database user\n"));
printf(_(" -W, --password force password prompt (should happen automatically)\n"));
#else /* not HAVE_GETOPT_LONG */
printf(_(" -h HOSTNAME database server host name\n"));
printf(_(" -p PORT database server port number\n"));
printf(_(" -U NAME connect as specified database user\n"));
printf(_(" -W force password prompt (should happen automatically)\n"));
#endif /* not HAVE_GETOPT_LONG */
printf(_("\nIf no database name is not supplied, then the PGDATABASE environment\n"
"variable value is used.\n\n"));