diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 90e78c36d15ff50396ebdfbc33aa01a7d4cd5549..d31c47b583230de69b46568c502c42fee346ca93 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.461 2007/03/19 23:38:30 wieck Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.462 2007/03/22 19:42:02 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -476,38 +476,33 @@ main(int argc, char **argv) } /* open the output file */ - switch (format[0]) + if (strcasecmp(format, "a") == 0 || strcasecmp(format, "append") == 0) { - case 'a': - case 'A': - plainText = 1; - g_fout = CreateArchive(filename, archNull, 0, archModeAppend); - break; - - case 'c': - case 'C': - g_fout = CreateArchive(filename, archCustom, compressLevel, archModeWrite); - break; - - case 'f': - case 'F': - g_fout = CreateArchive(filename, archFiles, compressLevel, archModeWrite); - break; - - case 'p': - case 'P': - plainText = 1; - g_fout = CreateArchive(filename, archNull, 0, archModeWrite); - break; - - case 't': - case 'T': - g_fout = CreateArchive(filename, archTar, compressLevel, archModeWrite); - break; - - default: - write_msg(NULL, "invalid output format \"%s\" specified\n", format); - exit(1); + /* not documented */ + plainText = 1; + g_fout = CreateArchive(filename, archNull, 0, archModeAppend); + } + else if (strcasecmp(format, "c") == 0 || strcasecmp(format, "custom") == 0) + g_fout = CreateArchive(filename, archCustom, compressLevel, archModeWrite); + else if (strcasecmp(format, "f") == 0 || strcasecmp(format, "file") == 0) + { + /* + * Dump files into the current directory; for demonstration only, not + * documented. + */ + g_fout = CreateArchive(filename, archFiles, compressLevel, archModeWrite); + } + else if (strcasecmp(format, "p") == 0 || strcasecmp(format, "plain") == 0) + { + plainText = 1; + g_fout = CreateArchive(filename, archNull, 0, archModeWrite); + } + else if (strcasecmp(format, "t") == 0 || strcasecmp(format, "tar") == 0) + g_fout = CreateArchive(filename, archTar, compressLevel, archModeWrite); + else + { + write_msg(NULL, "invalid output format \"%s\" specified\n", format); + exit(1); } if (g_fout == NULL)