getdatabaseencoding() and PG_encoding_to_char() were being sloppy about
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 16 Apr 2001 02:42:01 +0000 (02:42 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 16 Apr 2001 02:42:01 +0000 (02:42 +0000)
converting char* strings to type 'name'.  Imagine my surprise when 7.1
release coredumped upon start when compiled --enable-multibyte ...

src/backend/utils/init/miscinit.c
src/backend/utils/mb/common.c
src/backend/utils/mb/mbutils.c

index a6dffbee1039a7f0841102646eb3ff253c2dd958..33b9e11203efe744b9ccf6945d296852a3358353 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.64 2001/03/22 04:00:00 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.65 2001/04/16 02:42:01 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -168,13 +168,13 @@ SetDataDir(const char *dir)
 Datum
 getdatabaseencoding(PG_FUNCTION_ARGS)
 {
-   PG_RETURN_NAME("SQL_ASCII");
+   return DirectFunctionCall1(namein, CStringGetDatum("SQL_ASCII"));
 }
 
 Datum
 PG_encoding_to_char(PG_FUNCTION_ARGS)
 {
-   PG_RETURN_NAME("SQL_ASCII");
+   return DirectFunctionCall1(namein, CStringGetDatum("SQL_ASCII"));
 }
 
 Datum
index 1b3fe5fcf94364311ea450140baf78e9773c34b3..9c75b6c919e8c9cad6e67c987235085831aa2f7e 100644 (file)
@@ -2,7 +2,7 @@
  * This file contains some public functions
  * usable for both the backend and the frontend.
  * Tatsuo Ishii
- * $Id: common.c,v 1.12 2001/02/11 01:59:22 ishii Exp $
+ * $Id: common.c,v 1.13 2001/04/16 02:42:01 tgl Exp $
  */
 #include "postgres.h"
 
@@ -91,8 +91,9 @@ Datum
 PG_encoding_to_char(PG_FUNCTION_ARGS)
 {
    int32       encoding = PG_GETARG_INT32(0);
+   const char *encoding_name = pg_encoding_to_char(encoding);
 
-   PG_RETURN_NAME(pg_encoding_to_char(encoding));
+   return DirectFunctionCall1(namein, CStringGetDatum(encoding_name));
 }
 
 #endif
index 2abae59d62ba557a906450a707482a5d2e200d77..c355bf1e41424d22e91064293355e920bc6d2f2b 100644 (file)
@@ -3,7 +3,7 @@
  * client encoding and server internal encoding.
  * (currently mule internal code (mic) is used)
  * Tatsuo Ishii
- * $Id: mbutils.c,v 1.16 2001/03/08 00:24:34 tgl Exp $
+ * $Id: mbutils.c,v 1.17 2001/04/16 02:42:01 tgl Exp $
  */
 #include "postgres.h"
 
@@ -287,5 +287,7 @@ GetDatabaseEncoding()
 Datum
 getdatabaseencoding(PG_FUNCTION_ARGS)
 {
-   PG_RETURN_NAME(pg_encoding_to_char(DatabaseEncoding));
+   const char *encoding_name = pg_encoding_to_char(DatabaseEncoding);
+
+   return DirectFunctionCall1(namein, CStringGetDatum(encoding_name));
 }