From 95d4821b1cc56f834b1d901bb9f0bdaf43ff8cc0 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 30 Sep 2001 22:30:37 +0000
Subject: [PATCH] Make libpq++ safe again for older C++ compilers.  Do 'using
 namespace std' only if configure found it was safe to do so; do not assume
 const_cast is available.

---
 src/interfaces/libpq++/pgconnection.cc | 4 +++-
 src/interfaces/libpq++/pgconnection.h  | 5 +----
 src/interfaces/libpq++/pgcursordb.cc   | 5 +++--
 src/interfaces/libpq++/pgcursordb.h    | 4 +---
 src/interfaces/libpq++/pgdatabase.cc   | 9 +++++----
 src/interfaces/libpq++/pglobject.cc    | 5 +++--
 src/interfaces/libpq++/pglobject.h     | 5 +----
 7 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/src/interfaces/libpq++/pgconnection.cc b/src/interfaces/libpq++/pgconnection.cc
index 2f10264deaa..11db62c2867 100644
--- a/src/interfaces/libpq++/pgconnection.cc
+++ b/src/interfaces/libpq++/pgconnection.cc
@@ -10,14 +10,16 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgconnection.cc,v 1.11 2001/05/09 17:29:10 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgconnection.cc,v 1.12 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 #include "pgconnection.h"
 
+#ifdef HAVE_NAMESPACE_STD
 using namespace std;
+#endif
 
 
 // ****************************************************************
diff --git a/src/interfaces/libpq++/pgconnection.h b/src/interfaces/libpq++/pgconnection.h
index 7d8ca2c52bf..217006f3b72 100644
--- a/src/interfaces/libpq++/pgconnection.h
+++ b/src/interfaces/libpq++/pgconnection.h
@@ -13,7 +13,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  * 
- * $Id: pgconnection.h,v 1.13 2001/08/24 14:07:49 petere Exp $
+ * $Id: pgconnection.h,v 1.14 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -96,9 +96,6 @@ private:
 };
 
 
-#ifdef HAVE_NAMESPACE_STD
 #undef PGSTD
-#endif
-
 
 #endif	// PGCONNECTION_H
diff --git a/src/interfaces/libpq++/pgcursordb.cc b/src/interfaces/libpq++/pgcursordb.cc
index 369bc15f6e0..585428ddfb1 100644
--- a/src/interfaces/libpq++/pgcursordb.cc
+++ b/src/interfaces/libpq++/pgcursordb.cc
@@ -10,15 +10,16 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgcursordb.cc,v 1.5 2001/05/09 17:29:10 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgcursordb.cc,v 1.6 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
  
 #include "pgcursordb.h"
  
-
+#ifdef HAVE_NAMESPACE_STD
 using namespace std;
+#endif
 
 
 // ****************************************************************
diff --git a/src/interfaces/libpq++/pgcursordb.h b/src/interfaces/libpq++/pgcursordb.h
index 07a148f1dcb..7dca828ce1a 100644
--- a/src/interfaces/libpq++/pgcursordb.h
+++ b/src/interfaces/libpq++/pgcursordb.h
@@ -14,7 +14,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- *  $Id: pgcursordb.h,v 1.8 2001/07/11 22:12:43 momjian Exp $
+ *  $Id: pgcursordb.h,v 1.9 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -78,9 +78,7 @@ private:
 }; // End PgCursor Class Declaration
 
 
-#ifdef HAVE_NAMESPACE_STD
 #undef PGSTD
-#endif
 
 #endif	// PGCURSORDB_H
 
diff --git a/src/interfaces/libpq++/pgdatabase.cc b/src/interfaces/libpq++/pgdatabase.cc
index 72cec48cf2f..fe1face88da 100644
--- a/src/interfaces/libpq++/pgdatabase.cc
+++ b/src/interfaces/libpq++/pgdatabase.cc
@@ -10,15 +10,16 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgdatabase.cc,v 1.11 2001/05/09 17:46:11 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgdatabase.cc,v 1.12 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
  
 #include "pgdatabase.h"
 
-
+#ifdef HAVE_NAMESPACE_STD
 using namespace std;
+#endif
 
 
 // OBSOLESCENT (uses PQprint(), which is no longer being maintained)
@@ -33,7 +34,7 @@ void PgDatabase::DisplayTuples(FILE *out,
 	po.header = printHeader;
 	po.align = fillAlign;
 	po.standard = po.html3 = po.expanded = po.pager = 0;
-	po.fieldSep = const_cast<char *>(fieldSep);
+	po.fieldSep = (char *) (fieldSep);
 	po.tableOpt = po.caption = 0;
 	po.fieldName = 0;
 
@@ -54,7 +55,7 @@ void PgDatabase::PrintTuples(FILE *out,
 	po.align = fillAlign;
 	po.standard = po.html3 = po.expanded = po.pager = 0;
 	po.tableOpt = po.caption = 0;
-	po.fieldSep = const_cast<char *>(terseOutput ? "" : "|");
+	po.fieldSep = (char *) (terseOutput ? "" : "|");
 	po.fieldName = 0;
 
 	PQprint(out,pgResult,&po);
diff --git a/src/interfaces/libpq++/pglobject.cc b/src/interfaces/libpq++/pglobject.cc
index 0523ec8f91a..6bf5e304438 100644
--- a/src/interfaces/libpq++/pglobject.cc
+++ b/src/interfaces/libpq++/pglobject.cc
@@ -10,7 +10,7 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pglobject.cc,v 1.7 2001/05/09 17:29:10 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pglobject.cc,v 1.8 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -21,8 +21,9 @@ extern "C" {
 #include "libpq/libpq-fs.h"
 }
 
-
+#ifdef HAVE_NAMESPACE_STD
 using namespace std;
+#endif
 
 
 // ****************************************************************
diff --git a/src/interfaces/libpq++/pglobject.h b/src/interfaces/libpq++/pglobject.h
index 0f094d26761..7752e1dd654 100644
--- a/src/interfaces/libpq++/pglobject.h
+++ b/src/interfaces/libpq++/pglobject.h
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- *  $Id: pglobject.h,v 1.8 2001/07/11 22:12:43 momjian Exp $
+ *  $Id: pglobject.h,v 1.9 2001/09/30 22:30:37 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -68,9 +68,6 @@ private:
 };
 
 
-#ifdef HAVE_NAMESPACE_STD
 #undef PGSTD
-#endif
-
 
 #endif	// PGLOBJECT_H
-- 
GitLab