mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
@ -1712,7 +1712,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
|
||||
charset_name=charset_name_buff;
|
||||
sprintf(charset_name,"%d",mysql->server_language); /* In case of errors */
|
||||
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 */
|
||||
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ static CHARSET_INFO *find_charset_by_name(CHARSET_INFO **table,
|
||||
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;
|
||||
uchar tmp_ctype[CTYPE_TABLE_SIZE];
|
||||
@ -311,7 +311,7 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name)
|
||||
cs->to_lower=tmp_to_lower;
|
||||
cs->to_upper=tmp_to_upper;
|
||||
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;
|
||||
|
||||
cs = (CHARSET_INFO*) my_once_alloc(sizeof(CHARSET_INFO),
|
||||
@ -333,7 +333,7 @@ static CHARSET_INFO *add_charset(uint cs_number, const char *cs_name)
|
||||
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;
|
||||
/*
|
||||
@ -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,
|
||||
cs_info_table.elements)))
|
||||
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);
|
||||
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;
|
||||
/*
|
||||
@ -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,
|
||||
cs_info_table.elements)))
|
||||
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);
|
||||
return cs;
|
||||
}
|
||||
@ -371,7 +371,7 @@ CHARSET_INFO *get_charset(uint cs_number, myf flags)
|
||||
{
|
||||
CHARSET_INFO *cs;
|
||||
(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))
|
||||
{
|
||||
@ -403,7 +403,7 @@ CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags)
|
||||
{
|
||||
CHARSET_INFO *cs;
|
||||
(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))
|
||||
{
|
||||
|
Reference in New Issue
Block a user