Commit 34e2c4b2 authored by tim@black.box's avatar tim@black.box

Do not print a warning message when the server's character set is

not found by the client.  This is especially important for PHP, which
only includes the latin1 character set in the bundled libmysql.
parent d50f77ed
...@@ -1712,7 +1712,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user, ...@@ -1712,7 +1712,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
charset_name=charset_name_buff; charset_name=charset_name_buff;
sprintf(charset_name,"%d",mysql->server_language); /* In case of errors */ sprintf(charset_name,"%d",mysql->server_language); /* In case of errors */
if (!(mysql->charset = if (!(mysql->charset =
get_charset((uint8) mysql->server_language, MYF(MY_WME)))) get_charset((uint8) mysql->server_language, MYF(0))))
mysql->charset = default_charset_info; /* shouldn't be fatal */ mysql->charset = default_charset_info; /* shouldn't be fatal */
} }
......
...@@ -296,7 +296,7 @@ static CHARSET_INFO *find_charset_by_name(CHARSET_INFO **table, ...@@ -296,7 +296,7 @@ static CHARSET_INFO *find_charset_by_name(CHARSET_INFO **table,
return NULL; return NULL;
} }
static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name) static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name, myf flags)
{ {
CHARSET_INFO tmp_cs,*cs; CHARSET_INFO tmp_cs,*cs;
uchar tmp_ctype[CTYPE_TABLE_SIZE]; uchar tmp_ctype[CTYPE_TABLE_SIZE];
...@@ -311,11 +311,11 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name) ...@@ -311,11 +311,11 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name)
cs->to_lower=tmp_to_lower; cs->to_lower=tmp_to_lower;
cs->to_upper=tmp_to_upper; cs->to_upper=tmp_to_upper;
cs->sort_order=tmp_sort_order; cs->sort_order=tmp_sort_order;
if (read_charset_file(cs_number, cs, MYF(MY_WME))) if (read_charset_file(cs_number, cs, flags))
return NULL; return NULL;
cs = (CHARSET_INFO*) my_once_alloc(sizeof(CHARSET_INFO), cs = (CHARSET_INFO*) my_once_alloc(sizeof(CHARSET_INFO),
MYF(MY_WME)); MYF(MY_WME));
*cs=tmp_cs; *cs=tmp_cs;
cs->name = (char *) my_once_alloc((uint) strlen(cs_name)+1, MYF(MY_WME)); cs->name = (char *) my_once_alloc((uint) strlen(cs_name)+1, MYF(MY_WME));
cs->ctype = (uchar*) my_once_alloc(CTYPE_TABLE_SIZE, MYF(MY_WME)); cs->ctype = (uchar*) my_once_alloc(CTYPE_TABLE_SIZE, MYF(MY_WME));
...@@ -333,7 +333,7 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name) ...@@ -333,7 +333,7 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name)
return cs; return cs;
} }
static CHARSET_INFO *get_internal_charset(uint cs_number) static CHARSET_INFO *get_internal_charset(uint cs_number, myf flags)
{ {
CHARSET_INFO *cs; CHARSET_INFO *cs;
/* /*
...@@ -344,13 +344,13 @@ static CHARSET_INFO *get_internal_charset(uint cs_number) ...@@ -344,13 +344,13 @@ static CHARSET_INFO *get_internal_charset(uint cs_number)
if (!(cs = find_charset((CHARSET_INFO**) cs_info_table.buffer, cs_number, if (!(cs = find_charset((CHARSET_INFO**) cs_info_table.buffer, cs_number,
cs_info_table.elements))) cs_info_table.elements)))
if (!(cs = find_compiled_charset(cs_number))) if (!(cs = find_compiled_charset(cs_number)))
cs=add_charset(cs_number, get_charset_name(cs_number)); cs=add_charset(cs_number, get_charset_name(cs_number), flags);
pthread_mutex_unlock(&THR_LOCK_charset); pthread_mutex_unlock(&THR_LOCK_charset);
return cs; return cs;
} }
static CHARSET_INFO *get_internal_charset_by_name(const char *name) static CHARSET_INFO *get_internal_charset_by_name(const char *name, myf flags)
{ {
CHARSET_INFO *cs; CHARSET_INFO *cs;
/* /*
...@@ -361,7 +361,7 @@ static CHARSET_INFO *get_internal_charset_by_name(const char *name) ...@@ -361,7 +361,7 @@ static CHARSET_INFO *get_internal_charset_by_name(const char *name)
if (!(cs = find_charset_by_name((CHARSET_INFO**) cs_info_table.buffer, name, if (!(cs = find_charset_by_name((CHARSET_INFO**) cs_info_table.buffer, name,
cs_info_table.elements))) cs_info_table.elements)))
if (!(cs = find_compiled_charset_by_name(name))) if (!(cs = find_compiled_charset_by_name(name)))
cs=add_charset(get_charset_number(name), name); cs=add_charset(get_charset_number(name), name, flags);
pthread_mutex_unlock(&THR_LOCK_charset); pthread_mutex_unlock(&THR_LOCK_charset);
return cs; return cs;
} }
...@@ -371,7 +371,7 @@ CHARSET_INFO *get_charset(uint cs_number, myf flags) ...@@ -371,7 +371,7 @@ CHARSET_INFO *get_charset(uint cs_number, myf flags)
{ {
CHARSET_INFO *cs; CHARSET_INFO *cs;
(void) init_available_charsets(MYF(0)); /* If it isn't initialized */ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */
cs=get_internal_charset(cs_number); cs=get_internal_charset(cs_number, flags);
if (!cs && (flags & MY_WME)) if (!cs && (flags & MY_WME))
{ {
...@@ -403,7 +403,7 @@ CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags) ...@@ -403,7 +403,7 @@ CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags)
{ {
CHARSET_INFO *cs; CHARSET_INFO *cs;
(void) init_available_charsets(MYF(0)); /* If it isn't initialized */ (void) init_available_charsets(MYF(0)); /* If it isn't initialized */
cs=get_internal_charset_by_name(cs_name); cs=get_internal_charset_by_name(cs_name, flags);
if (!cs && (flags & MY_WME)) if (!cs && (flags & MY_WME))
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment