Merge mysql.com:/usr/home/bar/mysql-4.1
into mysql.com:/usr/home/bar/mysql-5.0 mysys/charset.c: Auto merged
This commit is contained in:
commit
b488e98747
@ -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)
|
static my_bool init_state_maps(CHARSET_INFO *cs)
|
||||||
{
|
{
|
||||||
uint i;
|
uint i;
|
||||||
@ -189,7 +205,8 @@ static my_bool simple_cs_is_full(CHARSET_INFO *cs)
|
|||||||
|
|
||||||
static int add_collation(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])
|
if (!all_charsets[cs->number])
|
||||||
{
|
{
|
||||||
@ -419,18 +436,8 @@ void free_charsets(void)
|
|||||||
|
|
||||||
uint get_collation_number(const char *name)
|
uint get_collation_number(const char *name)
|
||||||
{
|
{
|
||||||
CHARSET_INFO **cs;
|
|
||||||
init_available_charsets(MYF(0));
|
init_available_charsets(MYF(0));
|
||||||
|
return get_collation_number_internal(name);
|
||||||
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() */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -426,6 +426,18 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
|
|||||||
|
|
||||||
do
|
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__
|
#ifdef __BORLANDC__
|
||||||
if (!(finfo.name= strdup_root(names_storage, find.ff_name)))
|
if (!(finfo.name= strdup_root(names_storage, find.ff_name)))
|
||||||
goto error;
|
goto error;
|
||||||
@ -442,11 +454,10 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
|
|||||||
bzero(finfo.mystat, sizeof(MY_STAT));
|
bzero(finfo.mystat, sizeof(MY_STAT));
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
finfo.mystat->st_size=find.ff_fsize;
|
finfo.mystat->st_size=find.ff_fsize;
|
||||||
mode=MY_S_IREAD; attrib=find.ff_attrib;
|
|
||||||
#else
|
#else
|
||||||
finfo.mystat->st_size=find.size;
|
finfo.mystat->st_size=find.size;
|
||||||
mode=MY_S_IREAD; attrib=find.attrib;
|
|
||||||
#endif
|
#endif
|
||||||
|
mode=MY_S_IREAD;
|
||||||
if (!(attrib & _A_RDONLY))
|
if (!(attrib & _A_RDONLY))
|
||||||
mode|=MY_S_IWRITE;
|
mode|=MY_S_IWRITE;
|
||||||
if (attrib & _A_SUBDIR)
|
if (attrib & _A_SUBDIR)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user