set client_encoding to crashes backend.
authorTatsuo Ishii
Thu, 13 May 1999 10:28:26 +0000 (10:28 +0000)
committerTatsuo Ishii
Thu, 13 May 1999 10:28:26 +0000 (10:28 +0000)
src/backend/utils/mb/common.c
src/backend/utils/mb/variable.c

index b6bcae3b15686e92f816acc2655efbe429799da3..6d90c7344545b6263af768b7edfdc79fbb6655b2 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.3 1998/10/06 03:02:21 momjian Exp $ */
+ * $Id: common.c,v 1.4 1999/05/13 10:28:25 ishii Exp $ */
 
 #include 
 
@@ -28,6 +28,10 @@ pg_char_to_encoding(const char *s)
 {
    pg_encoding_conv_tbl *p = pg_conv_tbl;
 
+        if (!s) {
+       return (-1);
+   }
+
    for (; p->encoding >= 0; p++)
    {
        if (!strcasecmp(s, p->name))
index 37b95ccf12010a927ff2a23af5fd6f23a6691192..0b2ffacd6447fae617153363be0754ac770dbf3f 100644 (file)
@@ -2,7 +2,7 @@
  * This file contains some public functions
  * related to show/set/reset variable commands.
  * Tatsuo Ishii
- * $Id: variable.c,v 1.2 1998/09/01 04:33:24 momjian Exp $
+ * $Id: variable.c,v 1.3 1999/05/13 10:28:26 ishii Exp $
  */
 
 #include "mb/pg_wchar.h"
@@ -13,8 +13,13 @@ parse_client_encoding(const char *value)
    int         encoding;
 
    encoding = pg_valid_client_encoding(value);
-   if (encoding < 0)
-       elog(ERROR, "Client encoding %s is not supported", value);
+   if (encoding < 0) {
+           if (value) {
+           elog(ERROR, "Client encoding %s is not supported", value);
+       } else {
+           elog(ERROR, "No client encoding is specified");
+       }
+   }
    else
    {
        if (pg_set_client_encoding(encoding))