diff options
author | unknown <bar@mysql.com> | 2005-07-26 17:53:18 +0500 |
---|---|---|
committer | unknown <bar@mysql.com> | 2005-07-26 17:53:18 +0500 |
commit | 4fc1f429c1bf9a7f76692fb3df97cb42570cea4a (patch) | |
tree | 2026bf28ec875d72333b3e4ae00c21606a55b17e /mysys | |
parent | 3521daed379a809a13d7fb61c45a5a102bae4797 (diff) | |
parent | 08216d3abf6a66dc1d58449d2b0e60d028cd26f1 (diff) | |
download | mariadb-git-4fc1f429c1bf9a7f76692fb3df97cb42570cea4a.tar.gz |
Merge mysql.com:/usr/home/bar/mysql-4.1
into mysql.com:/usr/home/bar/mysql-5.0
mysys/charset.c:
Auto merged
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/charset.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/mysys/charset.c b/mysys/charset.c index 4920e7806a2..fbdfa12c7a1 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -383,26 +383,28 @@ static my_bool init_available_charsets(myf myflags) while we may changing the cs_info_table */ pthread_mutex_lock(&THR_LOCK_charset); - - bzero(&all_charsets,sizeof(all_charsets)); - init_compiled_charsets(myflags); - - /* Copy compiled charsets */ - for (cs=all_charsets; - cs < all_charsets+array_elements(all_charsets)-1 ; - cs++) + if (!charset_initialized) { - if (*cs) + bzero(&all_charsets,sizeof(all_charsets)); + init_compiled_charsets(myflags); + + /* Copy compiled charsets */ + for (cs=all_charsets; + cs < all_charsets+array_elements(all_charsets)-1 ; + cs++) { - if (cs[0]->ctype) - if (init_state_maps(*cs)) - *cs= NULL; + if (*cs) + { + if (cs[0]->ctype) + if (init_state_maps(*cs)) + *cs= NULL; + } } + + strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); + error= my_read_charset_file(fname,myflags); + charset_initialized=1; } - - strmov(get_charsets_dir(fname), MY_CHARSET_INDEX); - error= my_read_charset_file(fname,myflags); - charset_initialized=1; pthread_mutex_unlock(&THR_LOCK_charset); } return error; |