Commit 0c1ce1c3 authored by unknown's avatar unknown

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.


libmysql/libmysql.c:
  Do not print a warning message when the server's character set is
  not found by the client.  (In this case, the client has always fallen
  back on the default character set - this change just turns off the
  warning.)
mysys/charset.c:
  Pass flags in from the outside, instead of hard coding MY_WME, in
  add_charset().
parent b109a773
......@@ -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))
{
......
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