diff options
author | Karl Williamson <khw@cpan.org> | 2018-06-28 21:58:23 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2018-06-28 22:43:02 -0600 |
commit | e6e9f5a198d7e054e6857a9c6e99a07d639f7f3c (patch) | |
tree | db5740b4f3f57c8dd3d1493538e3d850ae5bb577 | |
parent | f7c9371852c8556ef8fa6445bfdd44a07ebcdd55 (diff) | |
download | perl-e6e9f5a198d7e054e6857a9c6e99a07d639f7f3c.tar.gz |
Remove some deprecated functions from mathoms.c
These have been deprecated since 5.18, and have security issues, as they
can try to read beyond the end of the buffer.
-rw-r--r-- | embed.fnc | 28 | ||||
-rw-r--r-- | embed.h | 72 | ||||
-rw-r--r-- | ext/XS-APItest/APItest.pm | 2 | ||||
-rw-r--r-- | ext/XS-APItest/APItest.xs | 16 | ||||
-rw-r--r-- | ext/XS-APItest/t/handy_base.pl | 6 | ||||
-rw-r--r-- | mathoms.c | 241 | ||||
-rw-r--r-- | proto.h | 220 |
7 files changed, 5 insertions, 580 deletions
@@ -765,8 +765,6 @@ AbDMpR |bool |is_uni_punct |UV c AbDMpPR |bool |is_uni_xdigit |UV c AMp |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp AMp |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp -AbDMpR |bool |isIDFIRST_lazy |NN const char* p -AbDMpR |bool |isALNUM_lazy |NN const char* p p |void |init_uniprops EpX |SV * |parse_uniprop_string|NN const char * const name \ |const Size_t len \ @@ -873,10 +871,6 @@ AMpR |bool |_is_utf8_FOO|U8 classnum|NN const U8 * const p \ |NN const char * const file|const unsigned line AMpR |bool |_is_utf8_FOO_with_len|const U8 classnum|NN const U8 *p \ |NN const U8 * const e -AbDMpR |bool |is_utf8_alnum |NN const U8 *p -AbDMpR |bool |is_utf8_alnumc |NN const U8 *p -AbDMpR |bool |is_utf8_idfirst|NN const U8 *p -AbDMpR |bool |is_utf8_xidfirst|NN const U8 *p AMpR |bool |_is_utf8_idcont|NN const U8 *p AMpR |bool |_is_utf8_idstart|NN const U8 *p AMpR |bool |_is_utf8_xidcont|NN const U8 *p @@ -885,25 +879,7 @@ AMpR |bool |_is_utf8_perl_idcont_with_len|NN const U8 *p \ |NN const U8 * const e AMpR |bool |_is_utf8_perl_idstart_with_len|NN const U8 *p \ |NN const U8 * const e -AbDMpR |bool |is_utf8_idcont |NN const U8 *p -AbDMpR |bool |is_utf8_xidcont |NN const U8 *p -AbDMpR |bool |is_utf8_alpha |NN const U8 *p -AbDMpR |bool |is_utf8_ascii |NN const U8 *p -AbDMpR |bool |is_utf8_blank |NN const U8 *p -AbDMpR |bool |is_utf8_space |NN const U8 *p -AbDMpR |bool |is_utf8_perl_space |NN const U8 *p -AbDMpR |bool |is_utf8_perl_word |NN const U8 *p -AbDMpR |bool |is_utf8_cntrl |NN const U8 *p -AbDMpR |bool |is_utf8_digit |NN const U8 *p -AbDMpR |bool |is_utf8_posix_digit |NN const U8 *p -AbDMpR |bool |is_utf8_graph |NN const U8 *p -AbDMpR |bool |is_utf8_upper |NN const U8 *p -AbDMpR |bool |is_utf8_lower |NN const U8 *p -AbDMpR |bool |is_utf8_print |NN const U8 *p -AbDMpR |bool |is_utf8_punct |NN const U8 *p -AbDMpR |bool |is_utf8_xdigit |NN const U8 *p AMpR |bool |_is_utf8_mark |NN const U8 *p -AbDMpR |bool |is_utf8_mark |NN const U8 *p #if defined(PERL_CORE) || defined(PERL_EXT) EXdpR |bool |isSCRIPT_RUN |NN const U8 *s|NN const U8 *send \ |const bool utf8_target @@ -1806,19 +1782,15 @@ s |UV |_to_utf8_case |const UV uv1 \ |NULLOK const U8 * const aux_table_lengths \ |NN const char * const normal #endif -ApbmdD |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp AMp |UV |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e \ |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \ |NN const char * const file|const int line -ApbmdD |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp AMp |UV |_to_utf8_upper_flags |NN const U8 *p|NULLOK const U8 *e \ |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \ |NN const char * const file|const int line -ApbmdD |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp AMp |UV |_to_utf8_title_flags |NN const U8 *p|NULLOK const U8* e \ |NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \ |NN const char * const file|const int line -ApbmdD |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp AMp |UV |_to_utf8_fold_flags|NN const U8 *p|NULLOK const U8 *e \ |NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags \ |NN const char * const file|const int line @@ -258,12 +258,6 @@ #define init_stacks() Perl_init_stacks(aTHX) #define init_tm(a) Perl_init_tm(aTHX_ a) #define intro_my() Perl_intro_my(aTHX) -#ifndef NO_MATHOMS -#define isALNUM_lazy(a) Perl_isALNUM_lazy(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define isIDFIRST_lazy(a) Perl_isIDFIRST_lazy(aTHX_ a) -#endif #define is_c9strict_utf8_string_loclen S_is_c9strict_utf8_string_loclen #define is_lvalue_sub() Perl_is_lvalue_sub(aTHX) #define is_safe_syscall(a,b,c,d) S_is_safe_syscall(aTHX_ a,b,c,d) @@ -359,80 +353,14 @@ #define is_uni_xdigit_lc(a) Perl_is_uni_xdigit_lc(aTHX_ a) #endif #ifndef NO_MATHOMS -#define is_utf8_alnum(a) Perl_is_utf8_alnum(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_alnumc(a) Perl_is_utf8_alnumc(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_blank(a) Perl_is_utf8_blank(aTHX_ a) -#endif -#ifndef NO_MATHOMS #define is_utf8_char Perl_is_utf8_char #endif -#ifndef NO_MATHOMS -#define is_utf8_cntrl(a) Perl_is_utf8_cntrl(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_digit(a) Perl_is_utf8_digit(aTHX_ a) -#endif #define is_utf8_fixed_width_buf_loclen_flags S_is_utf8_fixed_width_buf_loclen_flags -#ifndef NO_MATHOMS -#define is_utf8_graph(a) Perl_is_utf8_graph(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_idcont(a) Perl_is_utf8_idcont(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_idfirst(a) Perl_is_utf8_idfirst(aTHX_ a) -#endif #define is_utf8_invariant_string_loc S_is_utf8_invariant_string_loc -#ifndef NO_MATHOMS -#define is_utf8_lower(a) Perl_is_utf8_lower(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_mark(a) Perl_is_utf8_mark(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_perl_space(a) Perl_is_utf8_perl_space(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_perl_word(a) Perl_is_utf8_perl_word(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_posix_digit(a) Perl_is_utf8_posix_digit(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_print(a) Perl_is_utf8_print(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_punct(a) Perl_is_utf8_punct(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_space(a) Perl_is_utf8_space(aTHX_ a) -#endif #define is_utf8_string_flags S_is_utf8_string_flags #define is_utf8_string_loclen Perl_is_utf8_string_loclen #define is_utf8_string_loclen_flags S_is_utf8_string_loclen_flags -#ifndef NO_MATHOMS -#define is_utf8_upper(a) Perl_is_utf8_upper(aTHX_ a) -#endif #define is_utf8_valid_partial_char_flags S_is_utf8_valid_partial_char_flags -#ifndef NO_MATHOMS -#define is_utf8_xdigit(a) Perl_is_utf8_xdigit(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_xidcont(a) Perl_is_utf8_xidcont(aTHX_ a) -#endif -#ifndef NO_MATHOMS -#define is_utf8_xidfirst(a) Perl_is_utf8_xidfirst(aTHX_ a) -#endif #define isinfnan Perl_isinfnan #define leave_adjust_stacks(a,b,c,d) Perl_leave_adjust_stacks(aTHX_ a,b,c,d) #define leave_scope(a) Perl_leave_scope(aTHX_ a) diff --git a/ext/XS-APItest/APItest.pm b/ext/XS-APItest/APItest.pm index 61531fc97a..ba76d8f4da 100644 --- a/ext/XS-APItest/APItest.pm +++ b/ext/XS-APItest/APItest.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Carp; -our $VERSION = '0.99'; +our $VERSION = '1.00'; require XSLoader; diff --git a/ext/XS-APItest/APItest.xs b/ext/XS-APItest/APItest.xs index a30659f14f..76c2ef5d33 100644 --- a/ext/XS-APItest/APItest.xs +++ b/ext/XS-APItest/APItest.xs @@ -6434,11 +6434,9 @@ test_toLOWER_utf8(SV * p, int type) else if (type == -1) { resultant_cp = toLOWER_utf8(input, s, &len); } -#ifndef NO_MATHOMS else { - resultant_cp = Perl_to_utf8_lower(aTHX_ input, s, &len); + croak("fail: Unexpected type=%d", type); } -#endif av_push(av, newSVuv(resultant_cp)); utf8 = newSVpvn((char *) s, len); @@ -6524,11 +6522,9 @@ test_toFOLD_utf8(SV * p, int type) else if (type == -1) { resultant_cp = toFOLD_utf8(input, s, &len); } -#ifndef NO_MATHOMS else { - resultant_cp = Perl_to_utf8_fold(aTHX_ input, s, &len); + croak("fail: Unexpected type=%d", type); } -#endif av_push(av, newSVuv(resultant_cp)); utf8 = newSVpvn((char *) s, len); @@ -6614,11 +6610,9 @@ test_toUPPER_utf8(SV * p, int type) else if (type == -1) { resultant_cp = toUPPER_utf8(input, s, &len); } -#ifndef NO_MATHOMS else { - resultant_cp = Perl_to_utf8_upper(aTHX_ input, s, &len); + croak("fail: Unexpected type=%d", type); } -#endif av_push(av, newSVuv(resultant_cp)); utf8 = newSVpvn((char *) s, len); @@ -6697,11 +6691,9 @@ test_toTITLE_utf8(SV * p, int type) else if (type == -1) { resultant_cp = toTITLE_utf8(input, s, &len); } -#ifndef NO_MATHOMS else { - resultant_cp = Perl_to_utf8_title(aTHX_ input, s, &len); + croak("fail: Unexpected type=%d", type); } -#endif av_push(av, newSVuv(resultant_cp)); utf8 = newSVpvn((char *) s, len); diff --git a/ext/XS-APItest/t/handy_base.pl b/ext/XS-APItest/t/handy_base.pl index 7e8194e643..9143eabfe0 100644 --- a/ext/XS-APItest/t/handy_base.pl +++ b/ext/XS-APItest/t/handy_base.pl @@ -163,7 +163,6 @@ my %utf8_param_code = ( "_safe" => 0, "_safe, malformed" => 1, "deprecated unsafe" => -1, - "deprecated mathoms" => -2, ); # This test is split into this number of files. @@ -556,13 +555,8 @@ foreach my $name (sort keys %to_properties) { foreach my $utf8_param("_safe", "_safe, malformed", "deprecated unsafe", - "deprecated mathoms", ) { - use Config; - next if $utf8_param eq 'deprecated mathoms' - && $Config{'ccflags'} =~ /-DNO_MATHOMS/; - my $utf8_param_code = $utf8_param_code{$utf8_param}; my $expect_error = $utf8_param_code > 0; @@ -1140,38 +1140,6 @@ Perl_newSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *block) return newATTRSUB(floor, o, proto, NULL, block); } -UV -Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) -{ - PERL_ARGS_ASSERT_TO_UTF8_FOLD; - - return toFOLD_utf8(p, ustrp, lenp); -} - -UV -Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) -{ - PERL_ARGS_ASSERT_TO_UTF8_LOWER; - - return toLOWER_utf8(p, ustrp, lenp); -} - -UV -Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) -{ - PERL_ARGS_ASSERT_TO_UTF8_TITLE; - - return toTITLE_utf8(p, ustrp, lenp); -} - -UV -Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) -{ - PERL_ARGS_ASSERT_TO_UTF8_UPPER; - - return toUPPER_utf8(p, ustrp, lenp); -} - SV * Perl_sv_mortalcopy(pTHX_ SV *const oldstr) { @@ -1200,22 +1168,6 @@ ASCII_TO_NEED(const UV enc, const UV ch) return ch; } -bool /* Made into a function, so can be deprecated */ -Perl_isIDFIRST_lazy(pTHX_ const char* p) -{ - PERL_ARGS_ASSERT_ISIDFIRST_LAZY; - - return isIDFIRST_lazy_if(p,1); -} - -bool /* Made into a function, so can be deprecated */ -Perl_isALNUM_lazy(pTHX_ const char* p) -{ - PERL_ARGS_ASSERT_ISALNUM_LAZY; - - return isALNUM_lazy_if(p,1); -} - bool Perl_is_uni_alnum(pTHX_ UV c) { @@ -1377,38 +1329,6 @@ Perl_is_uni_idfirst(pTHX_ UV c) } bool -Perl_is_utf8_idfirst(pTHX_ const U8 *p) /* The naming is historical. */ -{ - PERL_ARGS_ASSERT_IS_UTF8_IDFIRST; - - return _is_utf8_idstart(p); -} - -bool -Perl_is_utf8_xidfirst(pTHX_ const U8 *p) /* The naming is historical. */ -{ - PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST; - - return _is_utf8_xidstart(p); -} - -bool -Perl_is_utf8_idcont(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_IDCONT; - - return _is_utf8_idcont(p); -} - -bool -Perl_is_utf8_xidcont(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_XIDCONT; - - return _is_utf8_xidcont(p); -} - -bool Perl_is_uni_upper_lc(pTHX_ UV c) { return isUPPER_LC_uvchr(c); @@ -1480,167 +1400,6 @@ Perl_to_uni_lower_lc(pTHX_ U32 c) return (U32)to_uni_lower(c, tmpbuf, &len); } -bool -Perl_is_utf8_alnum(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_ALNUM; - - /* NOTE: "IsWord", not "IsAlnum", since Alnum is a true - * descendant of isalnum(3), in other words, it doesn't - * contain the '_'. --jhi */ - return isWORDCHAR_utf8(p); -} - -bool -Perl_is_utf8_alnumc(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_ALNUMC; - - return isALPHANUMERIC_utf8(p); -} - -bool -Perl_is_utf8_alpha(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_ALPHA; - - return isALPHA_utf8(p); -} - -bool -Perl_is_utf8_ascii(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_ASCII; - PERL_UNUSED_CONTEXT; - - return isASCII_utf8(p); -} - -bool -Perl_is_utf8_blank(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_BLANK; - PERL_UNUSED_CONTEXT; - - return isBLANK_utf8(p); -} - -bool -Perl_is_utf8_space(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_SPACE; - PERL_UNUSED_CONTEXT; - - return isSPACE_utf8(p); -} - -bool -Perl_is_utf8_perl_space(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE; - PERL_UNUSED_CONTEXT; - - /* Only true if is an ASCII space-like character, and ASCII is invariant - * under utf8, so can just use the macro */ - return isSPACE_A(*p); -} - -bool -Perl_is_utf8_perl_word(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD; - PERL_UNUSED_CONTEXT; - - /* Only true if is an ASCII word character, and ASCII is invariant - * under utf8, so can just use the macro */ - return isWORDCHAR_A(*p); -} - -bool -Perl_is_utf8_digit(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_DIGIT; - - return isDIGIT_utf8(p); -} - -bool -Perl_is_utf8_posix_digit(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT; - PERL_UNUSED_CONTEXT; - - /* Only true if is an ASCII digit character, and ASCII is invariant - * under utf8, so can just use the macro */ - return isDIGIT_A(*p); -} - -bool -Perl_is_utf8_upper(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_UPPER; - - return isUPPER_utf8(p); -} - -bool -Perl_is_utf8_lower(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_LOWER; - - return isLOWER_utf8(p); -} - -bool -Perl_is_utf8_cntrl(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_CNTRL; - PERL_UNUSED_CONTEXT; - - return isCNTRL_utf8(p); -} - -bool -Perl_is_utf8_graph(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_GRAPH; - - return isGRAPH_utf8(p); -} - -bool -Perl_is_utf8_print(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_PRINT; - - return isPRINT_utf8(p); -} - -bool -Perl_is_utf8_punct(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_PUNCT; - - return isPUNCT_utf8(p); -} - -bool -Perl_is_utf8_xdigit(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_XDIGIT; - PERL_UNUSED_CONTEXT; - - return isXDIGIT_utf8(p); -} - -bool -Perl_is_utf8_mark(pTHX_ const U8 *p) -{ - PERL_ARGS_ASSERT_IS_UTF8_MARK; - - return _is_utf8_mark(p); -} - /* =for apidoc is_utf8_char @@ -1403,22 +1403,6 @@ PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd) PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, GV *gv, bool not_implicit, bool warn_on_fail); #define PERL_ARGS_ASSERT_IO_CLOSE \ assert(io) -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_isALNUM_lazy(pTHX_ const char* p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_ISALNUM_LAZY \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_isIDFIRST_lazy(pTHX_ const char* p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY \ - assert(p) -#endif - /* PERL_CALLCONV bool Perl_is_ascii_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__ __attribute__pure__; */ @@ -1646,46 +1630,6 @@ PERL_CALLCONV bool Perl_is_uni_xdigit_lc(pTHX_ UV c) #endif #ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_alnum(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_alnumc(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_alpha(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_ASCII \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_blank(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_BLANK \ - assert(p) -#endif - -#ifndef NO_MATHOMS PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s) __attribute__deprecated__; #define PERL_ARGS_ASSERT_IS_UTF8_CHAR \ @@ -1697,22 +1641,6 @@ PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end); #define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \ assert(buf); assert(buf_end) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_CNTRL \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_digit(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_DIGIT \ - assert(p) -#endif - /* PERL_CALLCONV bool is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */ /* PERL_CALLCONV bool is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */ #ifndef PERL_NO_INLINE_FUNCTIONS @@ -1720,30 +1648,6 @@ PERL_STATIC_INLINE bool S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const #define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS \ assert(s) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_graph(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_GRAPH \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_idcont(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_IDCONT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_idfirst(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST \ - assert(p) -#endif - /* PERL_CALLCONV bool is_utf8_invariant_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__; */ @@ -1754,70 +1658,6 @@ PERL_STATIC_INLINE bool S_is_utf8_invariant_string_loc(const U8* const s, STRLEN assert(s) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_lower(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_LOWER \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_mark(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_MARK \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_perl_space(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_perl_word(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_posix_digit(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_print(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PRINT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_punct(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_PUNCT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_space(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_SPACE \ - assert(p) -#endif - /* PERL_CALLCONV bool Perl_is_utf8_string(const U8 *s, STRLEN len) __attribute__warn_unused_result__; */ @@ -1844,14 +1684,6 @@ PERL_STATIC_INLINE bool S_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, c #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS \ assert(s) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_upper(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_UPPER \ - assert(p) -#endif - /* PERL_CALLCONV bool is_utf8_valid_partial_char(const U8 * const s, const U8 * const e) __attribute__warn_unused_result__ __attribute__pure__; */ @@ -1863,30 +1695,6 @@ PERL_STATIC_INLINE bool S_is_utf8_valid_partial_char_flags(const U8 * const s, c assert(s); assert(e) #endif -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_xdigit(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_xidcont(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT \ - assert(p) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV bool Perl_is_utf8_xidfirst(pTHX_ const U8 *p) - __attribute__deprecated__ - __attribute__warn_unused_result__; -#define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST \ - assert(p) -#endif - PERL_CALLCONV bool Perl_isinfnan(NV nv) __attribute__warn_unused_result__ __attribute__pure__; @@ -3728,34 +3536,6 @@ PERL_CALLCONV U32 Perl_to_uni_upper_lc(pTHX_ U32 c) __attribute__warn_unused_result__; #endif -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_FOLD \ - assert(p); assert(ustrp) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_LOWER \ - assert(p); assert(ustrp) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_TITLE \ - assert(p); assert(ustrp) -#endif - -#ifndef NO_MATHOMS -PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp) - __attribute__deprecated__; -#define PERL_ARGS_ASSERT_TO_UTF8_UPPER \ - assert(p); assert(ustrp) -#endif - PERL_CALLCONV bool Perl_try_amagic_bin(pTHX_ int method, int flags); PERL_CALLCONV bool Perl_try_amagic_un(pTHX_ int method, int flags); #ifndef NO_MATHOMS |