summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbar@bar.intranet.mysql.r18.ru <>2004-06-07 17:28:31 +0500
committerbar@bar.intranet.mysql.r18.ru <>2004-06-07 17:28:31 +0500
commitacbb3096b2c057c1ccc3d8bdc59a41ffeb851087 (patch)
treee4f9cccb56aba588470e2c6af3790d36b83e6f1f
parentf50066bdb995c9e0ef7b06991a1a34ab74e03990 (diff)
downloadmariadb-git-acbb3096b2c057c1ccc3d8bdc59a41ffeb851087.tar.gz
client.c:
Bug #3990 `--with-charset' ./configure's switch doesn'taffect mysql client library.
-rw-r--r--sql-common/client.c51
1 files changed, 25 insertions, 26 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index 87e62b5cd11..962faf5cbe1 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -1835,40 +1835,39 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
}
/* Set character set */
- if (mysql->options.charset_name)
+ if (!mysql->options.charset_name &&
+ !(mysql->options.charset_name=
+ my_strdup(MYSQL_DEFAULT_CHARSET_NAME,MYF(MY_WME))))
+ goto error;
+
{
const char *save= charsets_dir;
if (mysql->options.charset_dir)
charsets_dir=mysql->options.charset_dir;
mysql->charset=get_charset_by_csname(mysql->options.charset_name,
- MY_CS_PRIMARY,
- MYF(MY_WME));
+ MY_CS_PRIMARY, MYF(MY_WME));
charsets_dir= save;
-
- if (!mysql->charset)
- {
- net->last_errno=CR_CANT_READ_CHARSET;
- strmov(net->sqlstate, unknown_sqlstate);
- if (mysql->options.charset_dir)
- my_snprintf(net->last_error, sizeof(net->last_error)-1,
- ER(net->last_errno),
- mysql->options.charset_name,
- mysql->options.charset_dir);
- else
- {
- char cs_dir_name[FN_REFLEN];
- get_charsets_dir(cs_dir_name);
- my_snprintf(net->last_error, sizeof(net->last_error)-1,
- ER(net->last_errno),
- mysql->options.charset_name,
- cs_dir_name);
- }
- goto error;
- }
}
- else
+
+ if (!mysql->charset)
{
- mysql->charset= default_charset_info;
+ net->last_errno=CR_CANT_READ_CHARSET;
+ strmov(net->sqlstate, unknown_sqlstate);
+ if (mysql->options.charset_dir)
+ my_snprintf(net->last_error, sizeof(net->last_error)-1,
+ ER(net->last_errno),
+ mysql->options.charset_name,
+ mysql->options.charset_dir);
+ else
+ {
+ char cs_dir_name[FN_REFLEN];
+ get_charsets_dir(cs_dir_name);
+ my_snprintf(net->last_error, sizeof(net->last_error)-1,
+ ER(net->last_errno),
+ mysql->options.charset_name,
+ cs_dir_name);
+ }
+ goto error;
}