Commit b488e987 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/usr/home/bar/mysql-4.1

into  mysql.com:/usr/home/bar/mysql-5.0


mysys/charset.c:
  Auto merged
parents 3d53c870 f4911002
Loading
Loading
Loading
Loading
+19 −12
Original line number Diff line number Diff line
@@ -38,6 +38,22 @@ my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2)
}


static uint
get_collation_number_internal(const char *name)
{
  CHARSET_INFO **cs;
  for (cs= all_charsets;
       cs < all_charsets+array_elements(all_charsets)-1 ;
       cs++)
  {
    if ( cs[0] && cs[0]->name && 
         !my_strcasecmp(&my_charset_latin1, cs[0]->name, name))
      return cs[0]->number;
  }  
  return 0;
}


static my_bool init_state_maps(CHARSET_INFO *cs)
{
  uint i;
@@ -189,7 +205,8 @@ static my_bool simple_cs_is_full(CHARSET_INFO *cs)

static int add_collation(CHARSET_INFO *cs)
{
  if (cs->name && (cs->number || (cs->number=get_collation_number(cs->name))))
  if (cs->name && (cs->number ||
                   (cs->number=get_collation_number_internal(cs->name))))
  {
    if (!all_charsets[cs->number])
    {
@@ -419,18 +436,8 @@ void free_charsets(void)

uint get_collation_number(const char *name)
{
  CHARSET_INFO **cs;
  init_available_charsets(MYF(0));
  
  for (cs= all_charsets;
       cs < all_charsets+array_elements(all_charsets)-1 ;
       cs++)
  {
    if ( cs[0] && cs[0]->name && 
         !my_strcasecmp(&my_charset_latin1, cs[0]->name, name))
      return cs[0]->number;
  }  
  return 0;   /* this mimics find_type() */
  return get_collation_number_internal(name);
}


+13 −2
Original line number Diff line number Diff line
@@ -426,6 +426,18 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
 
  do
  {
#ifdef __BORLANDC__
    attrib= find.ff_attrib;
#else
    attrib= find.attrib;
    /*
      Do not show hidden and system files which Windows sometimes create.
      Note. Because Borland's findfirst() is called with the third
      argument = 0 hidden/system files are excluded from the search.
    */
    if (attrib & (_A_HIDDEN | _A_SYSTEM))
      continue;
#endif    
#ifdef __BORLANDC__
    if (!(finfo.name= strdup_root(names_storage, find.ff_name)))
      goto error;
@@ -442,11 +454,10 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
      bzero(finfo.mystat, sizeof(MY_STAT));
#ifdef __BORLANDC__
      finfo.mystat->st_size=find.ff_fsize;
      mode=MY_S_IREAD; attrib=find.ff_attrib;
#else
      finfo.mystat->st_size=find.size;
      mode=MY_S_IREAD; attrib=find.attrib;
#endif
      mode=MY_S_IREAD;
      if (!(attrib & _A_RDONLY))
	mode|=MY_S_IWRITE;
      if (attrib & _A_SUBDIR)