From 54067db6426a9c515d01e6a6c228bf9f8e56199a Mon Sep 17 00:00:00 2001
From: "Thomas G. Lockhart" <lockhart@fourpalms.org>
Date: Tue, 4 May 1999 15:47:35 +0000
Subject: [PATCH] Allow -t tablename to preserve case if specified as
 "tablename".

---
 src/bin/pg_dump/pg_dump.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 733d7ec372c..d4fbd33594f 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.103 1999/04/14 23:47:19 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.104 1999/05/04 15:47:35 thomas Exp $
  *
  * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
  *
@@ -606,10 +606,21 @@ main(int argc, char **argv)
 					int			i;
 
 					tablename = strdup(optarg);
-					for (i = 0; tablename[i]; i++)
-						if (isascii((unsigned char) tablename[i]) &&
-							isupper(tablename[i]))
-							tablename[i] = tolower(tablename[i]);
+					/* quoted string? Then strip quotes and preserve case... */
+					if (tablename[0] == '"')
+					{
+						strcpy(tablename, &tablename[1]);
+						if (*(tablename+strlen(tablename)-1) == '"')
+							*(tablename+strlen(tablename)-1) = '\0';
+					}
+					/* otherwise, convert table name to lowercase... */
+					else
+					{
+						for (i = 0; tablename[i]; i++)
+							if (isascii((unsigned char) tablename[i]) &&
+								isupper(tablename[i]))
+								tablename[i] = tolower(tablename[i]);
+					}
 				}
 				break;
 			case 'v':			/* verbose */
-- 
GitLab