Lines Matching defs:utf8
664 PLAIN_PV 1 non-utf8 constant string
665 PLAIN_LEN 2 non-utf8 constant string length
666 UTF8_PV 3 utf8 constant string
667 UTF8_LEN 4 utf8 constant string length
677 constant string is plain but has a different utf8 representation, both
702 U32 dst_utf8; /* the result will be utf8 (indicate this with
752 /* only utf8 variants of the const strings? */
759 * stringify (i.e. SvPV()) every arg and store the resultant pv/len/utf8
762 * utf8 is indicated by storing a negative length.
774 U32 utf8;
830 utf8 = (SvFLAGS(sv) & SVf_UTF8);
831 dst_utf8 |= utf8;
833 svpv_end->len = utf8 ? -(SSize_t)len : (SSize_t)len;
907 * Now that we know the length and utf8-ness of both the targ and
910 * whether any non-utf8 args expand in size if converted to utf8.
912 * For the latter, if dst_utf8 we scan non-utf8 args looking for
914 * utf8 size and negate it to flag them. At the same time we un-negate
915 * the lens of any utf8 args since after this phase we no longer care
916 * whether an arg is utf8 or not.
921 * * If the constant string is invariant whether utf8 or not (e.g. "abc"),
926 * * If the string is fully utf8, e.g. "\x{100}", then
930 * * If the string has different plain and utf8 representations
933 * holds the utf8 rep, and there are 2 sets of segment lengths,
934 * with the utf8 set following after the plain set.
939 * (pv, -len) a utf8 string
944 /* turn off utf8 handling if 'use bytes' is in scope */
948 /* undo all the negative lengths which flag utf8-ness */
971 /* separate sets of lengths for plain and utf8 */
974 /* If the result is utf8 but some of the args aren't,
976 * which will expand to two utf8 bytes.
979 * length on utf8 args (which was only needed to flag non-utf8
1028 * (pv, len) a pure-plain or utf8 string
1030 * bytes when converted to utf8
1128 * (pv, len) a pure-plain or utf8 string (which may be targ)
1130 * bytes when converted to utf8
1179 /* copy plain-but-variant pv to a utf8 targ */
1238 U32 utf8 = 0;
1247 utf8 = SVf_UTF8;
1323 if (utf8)
4312 /* Emulate :encoding(utf8) warning in the same case. */
4314 "utf8 \"\\x%02X\" does not map to Unicode",
5226 bool doutf8 = FALSE; /* whether replacement is in utf8 */
5307 * Don't handle utf8 specially; we can use length-in-bytes as an