From 0c1e2e493d4056b2ed0f62be41ef17d1ed49c11a Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Thu, 13 May 1999 10:28:26 +0000 Subject: [PATCH] set client_encoding to crashes backend. --- src/backend/utils/mb/common.c | 6 +++++- src/backend/utils/mb/variable.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/mb/common.c b/src/backend/utils/mb/common.c index b6bcae3b15..6d90c73445 100644 --- a/src/backend/utils/mb/common.c +++ b/src/backend/utils/mb/common.c @@ -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)) diff --git a/src/backend/utils/mb/variable.c b/src/backend/utils/mb/variable.c index 37b95ccf12..0b2ffacd64 100644 --- a/src/backend/utils/mb/variable.c +++ b/src/backend/utils/mb/variable.c @@ -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)) -- GitLab