diff options
author | Karl Williamson <public@khwilliamson.com> | 2011-12-13 21:48:19 -0700 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2011-12-15 16:25:51 -0700 |
commit | 051a06d4bf2bf1ff5da602fa4088227becfa244f (patch) | |
tree | 307c39afe3e27ef127e6cea8b2e50eb006052976 /embed.fnc | |
parent | 4b59338969ca96226e559bdd556f9f56e4fcbc17 (diff) | |
download | perl-051a06d4bf2bf1ff5da602fa4088227becfa244f.tar.gz |
utf8.c: Allow Changed behavior of utf8 under locale
This changes the 4 case changing functions to take extra parameters to
specify if the utf8 string is to be processed under locale rules when
the code points are < 256. The current functions are changed to macros
that call the new versions so that current behavior is unchanged.
An additional, static, function is created that makes sure that the
255/256 boundary is not crossed during the case change.
Diffstat (limited to 'embed.fnc')
-rw-r--r-- | embed.fnc | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -1386,11 +1386,14 @@ Ap |void |taint_env Ap |void |taint_proper |NULLOK const char* f|NN const char *const s Apd |UV |to_utf8_case |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \ |NN SV **swashp|NN const char *normal|NULLOK const char *special -Apd |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp -Apd |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp -Apd |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp +Apdm |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp +EXMp |UV |_to_utf8_lower_flags |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr +Apdm |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp +EXMp |UV |_to_utf8_upper_flags |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr +Apdm |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp +EXMp |UV |_to_utf8_title_flags |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr Ampd |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp -AMp |UV |_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags +EXMp |UV |_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags|NULLOK bool* tainted_ptr #if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C) p |bool |translate_substr_offsets|STRLEN curlen|IV pos1_iv \ |bool pos1_is_uv|IV len_iv \ @@ -2142,6 +2145,7 @@ sn |NV|mulexp10 |NV value|I32 exponent #if defined(PERL_IN_UTF8_C) sRn |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len +sRM |UV |check_locale_boundary_crossing|NN const U8* const p|const UV result|NN U8* const ustrp|NN STRLEN *lenp sR |bool |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname sR |SV* |swash_get |NN SV* swash|UV start|UV span #endif |