diff options
author | Jeremy Allison <jra@samba.org> | 2000-01-26 00:12:35 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2000-01-26 00:12:35 +0000 |
commit | d867b86721e988dee56d5e9382b32c870ccb2790 (patch) | |
tree | a19b4985a60d194abe083f9b0a6260c0c090b232 /source3/lib/kanji.c | |
parent | b5e7e4277d87c9eaa663f92c081a869b34170380 (diff) | |
download | samba-d867b86721e988dee56d5e9382b32c870ccb2790.tar.gz samba-d867b86721e988dee56d5e9382b32c870ccb2790.tar.bz2 samba-d867b86721e988dee56d5e9382b32c870ccb2790.zip |
Second set of inline optimisation fixes from Ying Chen <ying@almaden.ibm.com>.
Stop makeing function calls for every use of skip_multibyte_char. This function
is called several *million* times during a NetBench run :-).
Jeremy.
(This used to be commit e5a3deba46ea2d4cb49a6c4b73edd766fe8b5a5c)
Diffstat (limited to 'source3/lib/kanji.c')
-rw-r--r-- | source3/lib/kanji.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/source3/lib/kanji.c b/source3/lib/kanji.c index 1983bb1161..43b22c19cc 100644 --- a/source3/lib/kanji.c +++ b/source3/lib/kanji.c @@ -80,6 +80,8 @@ int (*is_multibyte_char_1)(char) = is_kanji_multibyte_char_1; #endif /* KANJI */ +BOOL global_is_multibyte_codepage = False; + /* jis si/so sequence */ static char jis_kso = JIS_KSO; static char jis_ksi = JIS_KSI; @@ -1163,17 +1165,6 @@ static BOOL not_multibyte_char_1(char c) } /******************************************************************* - Function to determine if we are in a multibyte code page. -*******************************************************************/ - -static BOOL is_multibyte_codepage_val = False; - -BOOL is_multibyte_codepage(void) -{ - return is_multibyte_codepage_val; -} - -/******************************************************************* Setup the function pointers for the functions that are replaced when multi-byte codepages are used. @@ -1193,7 +1184,7 @@ void initialize_multibyte_vectors( int client_codepage) multibyte_strtok = sj_strtok; _skip_multibyte_char = skip_kanji_multibyte_char; is_multibyte_char_1 = is_kanji_multibyte_char_1; - is_multibyte_codepage_val = True; + global_is_multibyte_codepage = True; break; case HANGUL_CODEPAGE: multibyte_strchr = generic_multibyte_strchr; @@ -1202,7 +1193,7 @@ void initialize_multibyte_vectors( int client_codepage) multibyte_strtok = generic_multibyte_strtok; _skip_multibyte_char = skip_generic_multibyte_char; is_multibyte_char_1 = hangul_is_multibyte_char_1; - is_multibyte_codepage_val = True; + global_is_multibyte_codepage = True; break; case BIG5_CODEPAGE: multibyte_strchr = generic_multibyte_strchr; @@ -1211,7 +1202,7 @@ void initialize_multibyte_vectors( int client_codepage) multibyte_strtok = generic_multibyte_strtok; _skip_multibyte_char = skip_generic_multibyte_char; is_multibyte_char_1 = big5_is_multibyte_char_1; - is_multibyte_codepage_val = True; + global_is_multibyte_codepage = True; break; case SIMPLIFIED_CHINESE_CODEPAGE: multibyte_strchr = generic_multibyte_strchr; @@ -1220,7 +1211,7 @@ void initialize_multibyte_vectors( int client_codepage) multibyte_strtok = generic_multibyte_strtok; _skip_multibyte_char = skip_generic_multibyte_char; is_multibyte_char_1 = simpch_is_multibyte_char_1; - is_multibyte_codepage_val = True; + global_is_multibyte_codepage = True; break; /* * Single char size code page. @@ -1232,7 +1223,7 @@ void initialize_multibyte_vectors( int client_codepage) multibyte_strtok = (char *(*)(char *, const char *)) strtok; _skip_multibyte_char = skip_non_multibyte_char; is_multibyte_char_1 = not_multibyte_char_1; - is_multibyte_codepage_val = False; + global_is_multibyte_codepage = False; break; } } |