diff options
author | Monty <monty@mariadb.org> | 2020-08-22 02:08:59 +0300 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-05-19 22:54:07 +0200 |
commit | a206658b985fe5e18fb5692fdb3698dad5aca70a (patch) | |
tree | eded15d92bd26154a7622a12f9ed6de6bd2fdf5c /strings/ctype-euc_kr.c | |
parent | b0910dddf53e2b41d5257bb5bda81f885044048a (diff) | |
download | mariadb-git-a206658b985fe5e18fb5692fdb3698dad5aca70a.tar.gz |
Change CHARSET_INFO character set and collaction names to LEX_CSTRING
This change removed 68 explict strlen() calls from the code.
The following renames was done to ensure we don't use the old names
when merging code from earlier releases, as using the new variables
for print function could result in crashes:
- charset->csname renamed to charset->cs_name
- charset->name renamed to charset->coll_name
Almost everything where mechanical changes except:
- Changed to use the new Protocol::store(LEX_CSTRING..) when possible
- Changed to use field->store(LEX_CSTRING*, CHARSET_INFO*) when possible
- Changed to use String->append(LEX_CSTRING&) when possible
Other things:
- There where compiler issues with ensuring that all character set names
points to the same string: gcc doesn't allow one to use integer constants
when defining global structures (constant char * pointers works fine).
To get around this, I declared defines for each character set name
length.
Diffstat (limited to 'strings/ctype-euc_kr.c')
-rw-r--r-- | strings/ctype-euc_kr.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c index 61c64dbcc18..e152862c0ef 100644 --- a/strings/ctype-euc_kr.c +++ b/strings/ctype-euc_kr.c @@ -32,6 +32,7 @@ #ifdef HAVE_CHARSET_euckr const char charset_name_euckr[]= "euckr"; +#define charset_name_euckr_length sizeof(charset_name_euckr)-1 static const uchar ctype_euc_kr[257] = { @@ -10055,8 +10056,8 @@ struct charset_info_st my_charset_euckr_korean_ci= { 19,0,0, /* number */ MY_CS_COMPILED|MY_CS_PRIMARY, /* state */ - charset_name_euckr, /* cs name */ - "euckr_korean_ci", /* name */ + { charset_name_euckr, charset_name_euckr_length }, /* cs name */ + { STRING_WITH_LEN("euckr_korean_ci") }, /* name */ "", /* comment */ NULL, /* tailoring */ ctype_euc_kr, @@ -10088,8 +10089,8 @@ struct charset_info_st my_charset_euckr_bin= { 85,0,0, /* number */ MY_CS_COMPILED|MY_CS_BINSORT, /* state */ - charset_name_euckr, /* cs name */ - "euckr_bin", /* name */ + { charset_name_euckr, charset_name_euckr_length }, /* cs name */ + { STRING_WITH_LEN("euckr_bin") }, /* name */ "", /* comment */ NULL, /* tailoring */ ctype_euc_kr, @@ -10121,8 +10122,8 @@ struct charset_info_st my_charset_euckr_korean_nopad_ci= { MY_NOPAD_ID(19),0,0,/* number */ MY_CS_COMPILED|MY_CS_NOPAD, /* state */ - charset_name_euckr, /* cs name */ - "euckr_korean_nopad_ci", /* name */ + { charset_name_euckr, charset_name_euckr_length }, /* cs name */ + { STRING_WITH_LEN("euckr_korean_nopad_ci") }, /* name */ "", /* comment */ NULL, /* tailoring */ ctype_euc_kr, @@ -10154,8 +10155,8 @@ struct charset_info_st my_charset_euckr_nopad_bin= { MY_NOPAD_ID(85),0,0,/* number */ MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_NOPAD, /* state */ - charset_name_euckr, /* cs name */ - "euckr_nopad_bin", /* name */ + { charset_name_euckr, charset_name_euckr_length }, /* cs name */ + { STRING_WITH_LEN("euckr_nopad_bin") }, /* name */ "", /* comment */ NULL, /* tailoring */ ctype_euc_kr, |