summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2016-09-19 09:59:32 -0600
committerKarl Williamson <khw@cpan.org>2016-09-25 22:24:20 -0600
commit9f2abfdef8903cce0a7b12ce12788ce7e9f72ed1 (patch)
treed908a06dcda7d93207f2d332292afa86eac079e1 /embed.fnc
parent152c1f4b3a3b82886ecaa218d01d1a5a20f80f17 (diff)
downloadperl-9f2abfdef8903cce0a7b12ce12788ce7e9f72ed1.tar.gz
Add API Unicode handling functions
These functions are all extensions of the is_utf8_string_foo() functions, that restrict the UTF-8 recognized as valid in various ways. There are named ones for the two definitions that Unicode makes, and foo_flags ones for more custom restrictions. The named ones are implemented as tries, while the flags ones provide complete generality
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc27
1 files changed, 25 insertions, 2 deletions
diff --git a/embed.fnc b/embed.fnc
index 2954eda3de..1ea0c76f62 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -742,8 +742,31 @@ AmnpdRP |bool |is_invariant_string|NN const U8* const s|const STRLEN len
AnpdD |STRLEN |is_utf8_char |NN const U8 *s
Abmnpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
AnipdP |bool |is_utf8_string |NN const U8 *s|const STRLEN len
-Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|const STRLEN len|NN const U8 **ep
-Anipd |bool |is_utf8_string_loclen|NN const U8 *s|const STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
+AnidP |bool |is_utf8_string_flags \
+ |NN const U8 *s|const STRLEN len|const U32 flags
+AnidP |bool |is_strict_utf8_string|NN const U8 *s|const STRLEN len
+AnidP |bool |is_c9strict_utf8_string|NN const U8 *s|const STRLEN len
+Anpdmb |bool |is_utf8_string_loc \
+ |NN const U8 *s|const STRLEN len|NN const U8 **ep
+Andm |bool |is_utf8_string_loc_flags \
+ |NN const U8 *s|const STRLEN len|NN const U8 **ep \
+ |const U32 flags
+Andm |bool |is_strict_utf8_string_loc \
+ |NN const U8 *s|const STRLEN len|NN const U8 **ep
+Andm |bool |is_c9strict_utf8_string_loc \
+ |NN const U8 *s|const STRLEN len|NN const U8 **ep
+Anipd |bool |is_utf8_string_loclen \
+ |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NULLOK STRLEN *el
+Anid |bool |is_utf8_string_loclen_flags \
+ |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NULLOK STRLEN *el|const U32 flags
+Anid |bool |is_strict_utf8_string_loclen \
+ |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NULLOK STRLEN *el
+Anid |bool |is_c9strict_utf8_string_loclen \
+ |NN const U8 *s|const STRLEN len|NULLOK const U8 **ep \
+ |NULLOK STRLEN *el
AmndP |bool |is_utf8_valid_partial_char \
|NN const U8 * const s|NN const U8 * const e
AnidP |bool |is_utf8_valid_partial_char_flags \