Commit 8c7186b9 authored by tim@black.box's avatar tim@black.box
Browse files

Merge work.mysql.com:/home/bk/mysql-4.0 into black.box:/u/home/tim/my/4

parents 00ff406b 9d304d8c
Loading
Loading
Loading
Loading
+146 −143

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -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 */

  }
+9 −9
Original line number Diff line number Diff line
@@ -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))
  {