diff options
author | unknown <bar@bar.mysql.r18.ru> | 2002-12-11 12:30:05 +0400 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2002-12-11 12:30:05 +0400 |
commit | c8a50df16c188dd7643f59345c98af844c3a0109 (patch) | |
tree | c1fc53f191ed9f2898e5500160be657e37e7bbb4 | |
parent | 540b243aceb1a868e4262056971242a69568a4e3 (diff) | |
download | mariadb-git-c8a50df16c188dd7643f59345c98af844c3a0109.tar.gz |
Preparing for charset dependant int10_to_str
-rw-r--r-- | include/m_ctype.h | 7 | ||||
-rw-r--r-- | strings/ctype-big5.c | 3 | ||||
-rw-r--r-- | strings/ctype-bin.c | 5 | ||||
-rw-r--r-- | strings/ctype-czech.c | 2 | ||||
-rw-r--r-- | strings/ctype-euc_kr.c | 2 | ||||
-rw-r--r-- | strings/ctype-gb2312.c | 2 | ||||
-rw-r--r-- | strings/ctype-gbk.c | 4 | ||||
-rw-r--r-- | strings/ctype-latin1_de.c | 2 | ||||
-rw-r--r-- | strings/ctype-simple.c | 23 | ||||
-rw-r--r-- | strings/ctype-sjis.c | 2 | ||||
-rw-r--r-- | strings/ctype-tis620.c | 2 | ||||
-rw-r--r-- | strings/ctype-ujis.c | 2 | ||||
-rw-r--r-- | strings/ctype-utf8.c | 6 | ||||
-rw-r--r-- | strings/ctype-win1250ch.c | 2 | ||||
-rw-r--r-- | strings/ctype.c | 92 |
15 files changed, 129 insertions, 27 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h index 4af23bb3ab5..09a24201588 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -123,7 +123,9 @@ typedef struct charset_info_st char max_sort_char; /* For LIKE optimization */ /* Charset dependant snprintf() */ - int (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt, ...); + int (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt, ...); + int (*l10tostr)(struct charset_info_st *, char *to, uint n, int radix, long int val); + int (*ll10tostr)(struct charset_info_st *, char *to, uint n, int radix, longlong val); long (*strntol)(struct charset_info_st *, const char *s, uint l,char **e, int base); ulong (*strntoul)(struct charset_info_st *, const char *s, uint l, char **e, int base); @@ -175,6 +177,9 @@ longlong my_strntoll_8bit(CHARSET_INFO *, const char *s, uint l,char **e, int ulonglong my_strntoull_8bit(CHARSET_INFO *, const char *s, uint l,char **e, int base); double my_strntod_8bit(CHARSET_INFO *, const char *s, uint l,char **e); +int my_l10tostr_8bit(CHARSET_INFO *, char *to, uint l, int radix, long int val); +int my_ll10tostr_8bit(CHARSET_INFO *, char *to, uint l, int radix, longlong val); + my_bool my_like_range_simple(CHARSET_INFO *cs, const char *ptr, uint ptr_length, int escape, int w_one, int w_many, diff --git a/strings/ctype-big5.c b/strings/ctype-big5.c index b41ed82aeae..573c3c67db0 100644 --- a/strings/ctype-big5.c +++ b/strings/ctype-big5.c @@ -6249,6 +6249,9 @@ CHARSET_INFO my_charset_big5 = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, + my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-bin.c b/strings/ctype-bin.c index 7431ce82df5..7848862a0db 100644 --- a/strings/ctype-bin.c +++ b/strings/ctype-bin.c @@ -290,12 +290,13 @@ static CHARSET_INFO my_charset_bin_st = my_hash_sort_bin, /* hash_sort */ 255, /* max_sort_char */ my_snprintf_8bit, /* snprintf */ + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, my_strntoull_8bit, - my_strntod_8bit - + my_strntod_8bit, }; diff --git a/strings/ctype-czech.c b/strings/ctype-czech.c index 837545ce70f..d309ddc80c8 100644 --- a/strings/ctype-czech.c +++ b/strings/ctype-czech.c @@ -627,6 +627,8 @@ CHARSET_INFO my_charset_czech = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-euc_kr.c b/strings/ctype-euc_kr.c index 57d237364f6..2fe8db85369 100644 --- a/strings/ctype-euc_kr.c +++ b/strings/ctype-euc_kr.c @@ -8667,6 +8667,8 @@ CHARSET_INFO my_charset_euc_kr = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-gb2312.c b/strings/ctype-gb2312.c index 205b7c2a1da..c06b70011df 100644 --- a/strings/ctype-gb2312.c +++ b/strings/ctype-gb2312.c @@ -5717,6 +5717,8 @@ CHARSET_INFO my_charset_gb2312 = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-gbk.c b/strings/ctype-gbk.c index aec38e8dfa8..82a75188c24 100644 --- a/strings/ctype-gbk.c +++ b/strings/ctype-gbk.c @@ -9904,11 +9904,13 @@ CHARSET_INFO my_charset_gbk = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, my_strntoull_8bit, - my_strntod_8bit + my_strntod_8bit, }; diff --git a/strings/ctype-latin1_de.c b/strings/ctype-latin1_de.c index 696fa0f6192..49acd3fa8a8 100644 --- a/strings/ctype-latin1_de.c +++ b/strings/ctype-latin1_de.c @@ -445,6 +445,8 @@ CHARSET_INFO my_charset_latin1_de = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c index b487159a733..7c97c8d23e7 100644 --- a/strings/ctype-simple.c +++ b/strings/ctype-simple.c @@ -711,6 +711,29 @@ double my_strntod_8bit(CHARSET_INFO *cs __attribute__((unused)), /* + This is a fast version optimized for the case of radix 10 / -10 +*/ + +int my_l10tostr_8bit(CHARSET_INFO *cs __attribute__((unused)), + char *dst, uint len, int radix, long int val) +{ + val=radix=len; + dst[0]='\0'; + return 0; +} + + +int my_ll10tostr_8bit(CHARSET_INFO *cs __attribute__((unused)), + char *dst, uint len, int radix, longlong val) +{ + val=radix=len; + dst[0]='\0'; + return 0; +} + + + +/* ** Compare string against string with wildcard ** 0 if matched ** -1 if not matched with wildcard diff --git a/strings/ctype-sjis.c b/strings/ctype-sjis.c index 1ccf0b1d8f2..43db7ebc24a 100644 --- a/strings/ctype-sjis.c +++ b/strings/ctype-sjis.c @@ -4491,6 +4491,8 @@ CHARSET_INFO my_charset_sjis = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-tis620.c b/strings/ctype-tis620.c index 3852589659b..2dae3036426 100644 --- a/strings/ctype-tis620.c +++ b/strings/ctype-tis620.c @@ -719,6 +719,8 @@ CHARSET_INFO my_charset_tis620 = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-ujis.c b/strings/ctype-ujis.c index 0f4d8f5dfe2..9d970005c85 100644 --- a/strings/ctype-ujis.c +++ b/strings/ctype-ujis.c @@ -8461,6 +8461,8 @@ CHARSET_INFO my_charset_ujis = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c index fa66ca7efb4..55a887db920 100644 --- a/strings/ctype-utf8.c +++ b/strings/ctype-utf8.c @@ -1989,11 +1989,13 @@ CHARSET_INFO my_charset_utf8 = my_hash_sort_utf8, /* hash_sort */ 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, my_strntoull_8bit, - my_strntod_8bit + my_strntod_8bit, }; @@ -2942,6 +2944,8 @@ CHARSET_INFO my_charset_ucs2 = my_hash_sort_ucs2, /* hash_sort */ 0, my_snprintf_ucs2, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_ucs2, my_strntoul_ucs2, my_strntoll_ucs2, diff --git a/strings/ctype-win1250ch.c b/strings/ctype-win1250ch.c index ae7ab6067f8..b7a6b21cf4a 100644 --- a/strings/ctype-win1250ch.c +++ b/strings/ctype-win1250ch.c @@ -653,6 +653,8 @@ CHARSET_INFO my_charset_win1250ch = my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, diff --git a/strings/ctype.c b/strings/ctype.c index 43a9be3ab4b..8e7d8ad939c 100644 --- a/strings/ctype.c +++ b/strings/ctype.c @@ -2841,6 +2841,8 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_sort_simple, 0, my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -2883,7 +2885,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -2925,7 +2929,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -2967,7 +2973,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3010,7 +3018,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3052,7 +3062,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3094,7 +3106,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3136,7 +3150,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3179,7 +3195,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3221,7 +3239,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3263,7 +3283,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3305,7 +3327,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3347,7 +3371,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3389,7 +3415,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3431,7 +3459,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3474,7 +3504,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3516,7 +3548,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3559,7 +3593,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3602,7 +3638,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3644,7 +3682,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3686,7 +3726,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3728,7 +3770,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3770,7 +3814,9 @@ static CHARSET_INFO compiled_charsets[] = { my_hash_caseup_simple, my_hash_sort_simple, 0, - my_snprintf_8bit + my_snprintf_8bit, + my_l10tostr_8bit, + my_ll10tostr_8bit, my_strntol_8bit, my_strntoul_8bit, my_strntoll_8bit, @@ -3818,6 +3864,8 @@ static CHARSET_INFO compiled_charsets[] = { NULL, NULL, NULL, + NULL, + NULL, NULL } }; |