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)