set client_encoding to <nothing> crashes backend.

This commit is contained in:
Tatsuo Ishii 1999-05-13 10:28:26 +00:00
parent 507a0a2ab0
commit 0c1e2e493d
2 changed files with 13 additions and 4 deletions

View 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 <stdlib.h>
@ -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))

View 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))