Lines Matching defs:utf8

128 #define PUSH16(utf8, cur, p, needs_swap)                        \
129 PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
130 #define PUSH32(utf8, cur, p, needs_swap) \
131 PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
147 #define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap) \
149 if (UNLIKELY(utf8)) { \
161 #define SHIFT16(utf8, s, strend, p, datumtype, needs_swap) \
162 SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
164 #define SHIFT32(utf8, s, strend, p, datumtype, needs_swap) \
165 SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
167 #define SHIFT_VAR(utf8, s, strend, var, datumtype, needs_swap) \
168 SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
170 #define PUSH_VAR(utf8, aptr, var, needs_swap) \
171 PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
178 #define FLAG_PARSE_UTF8 0x20 /* Parse as utf8 */
180 #define FLAG_DO_UTF8 0x08 /* The underlying string is utf8 */
272 #define SHIFT_BYTE(utf8, s, strend, datumtype) ((utf8) ? \
348 #define PUSH_BYTES(utf8, cur, buf, len, needs_swap) \
350 if (UNLIKELY(utf8)) \
368 #define GROWING2(utf8, cat, start, cur, item_size, item_count) \
372 GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
375 #define GROWING(utf8, cat, start, cur, in_len) \
379 if (utf8) SAFE_UTF8_EXPAND(glen); \
388 #define PUSH_GROWING_BYTES(utf8, cat, start, cur, buf, in_len) \
392 if (utf8) SAFE_UTF8_EXPAND(gl); \
399 PUSH_BYTES(utf8, cur, buf, glen, 0); \
402 #define PUSH_BYTE(utf8, s, byte) \
404 if (utf8) { \
873 bool utf8 = (symptr->flags & FLAG_PARSE_UTF8) ? 1 : 0;
949 if (utf8) symptr->flags |= FLAG_PARSE_UTF8;
964 const bool u8 = utf8 && !(datumtype & TYPE_IS_SHRIEKING);
982 if (utf8 && !(datumtype & TYPE_IS_SHRIEKING))
1001 if (utf8) {
1020 if (utf8) {
1040 if (utf8) ai32 = utf8_length((U8 *) strbeg, (U8 *) s) % len;
1047 if (utf8) {
1071 if (utf8) {
1098 if (utf8 && (symptr->flags & FLAG_WAS_UTF8)) {
1119 if (utf8) {
1134 if (utf8)
1146 bits = SHIFT_BYTE(utf8, s, strend, datumtype);
1169 else if (utf8) {
1180 else if (utf8) {
1195 /* Preliminary length estimate, acceptable for utf8 too */
1208 else if (utf8) {
1220 else if (utf8) {
1239 utf8 = (symptr->flags & FLAG_DO_UTF8) ? 1 : 0;
1246 if (utf8)
1269 if (utf8) {
1298 if (symptr->flags & FLAG_DO_UTF8) utf8 = 0;
1314 if (utf8) {
1318 /* Bug: warns about bad utf8 even if we are short on bytes
1348 SHIFT_VAR(utf8, s, strend, ashort, datumtype, needs_swap);
1367 SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
1384 SHIFT_VAR(utf8, s, strend, aushort, datumtype, needs_swap);
1404 SHIFT16(utf8, s, strend, &au16, datumtype, needs_swap);
1424 SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
1443 SHIFT_VAR(utf8, s, strend, aint, datumtype, needs_swap);
1456 SHIFT_VAR(utf8, s, strend, auint, datumtype, needs_swap);
1468 SHIFT_VAR(utf8, s, strend, aiv, datumtype, needs_swap);
1480 SHIFT_VAR(utf8, s, strend, auv, datumtype, needs_swap);
1493 SHIFT_VAR(utf8, s, strend, along, datumtype, needs_swap);
1511 SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
1527 SHIFT_VAR(utf8, s, strend, aulong, datumtype, needs_swap);
1547 SHIFT32(utf8, s, strend, &au32, datumtype, needs_swap);
1567 SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
1585 SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
1597 ch = SHIFT_BYTE(utf8, s, strend, datumtype);
1614 ch = SHIFT_BYTE(utf8, s, strend, datumtype);
1640 SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
1649 SHIFT_VAR(utf8, s, strend, aquad, datumtype, needs_swap);
1661 SHIFT_VAR(utf8, s, strend, auquad, datumtype, needs_swap);
1675 SHIFT_VAR(utf8, s, strend, afloat, datumtype, needs_swap);
1685 SHIFT_VAR(utf8, s, strend, adouble, datumtype, needs_swap);
1695 SHIFT_BYTES(utf8, s, strend, anv.bytes, sizeof(anv.bytes),
1707 SHIFT_BYTES(utf8, s, strend, aldouble.bytes,
2112 bool utf8 = (symptr->flags & FLAG_PARSE_UTF8) ? 1 : 0;
2121 utf8 = 0;
2156 GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
2215 if (utf8 && !(datumtype & TYPE_IS_SHRIEKING))
2257 if (utf8) symptr->flags |= FLAG_PARSE_UTF8;
2263 /* This had better be an upgrade while in utf8==0 mode */
2264 utf8 = 1;
2276 if (utf8) {
2295 if (utf8) {
2330 if (utf8) ai32 = utf8_length((U8 *) start, (U8 *) cur) % len;
2348 if (!utf8 && !SvUTF8(cat)) {
2352 utf8 = 1;
2357 if (utf8) goto string_copy;
2369 if (utf8) {
2386 Perl_croak(aTHX_ "panic: predicted utf8 length not available, "
2391 } else if (utf8) {
2450 GROWING(utf8, cat, start, cur, field_len);
2463 PUSH_BYTE(utf8, cur, bits);
2478 PUSH_BYTE(utf8, cur, bits);
2488 PUSH_BYTE(utf8, cur, bits);
2519 GROWING(utf8, cat, start, cur, field_len);
2538 PUSH_BYTE(utf8, cur, bits);
2557 PUSH_BYTE(utf8, cur, bits);
2563 PUSH_BYTE(utf8, cur, bits);
2582 PUSH_BYTE(utf8, cur, (U8)aiv);
2587 utf8 = (symptr->flags & FLAG_DO_UTF8) ? 1 : 0;
2597 PUSH_BYTE(utf8, cur, (U8)aiv);
2605 if (utf8) end -= UTF8_MAXLEN-1;
2611 if (utf8) {
2629 utf8 = 1;
2659 utf8 = 0;
2664 if (!utf8) end -= UTF8_MAXLEN;
2669 if (utf8) {
2721 PUSH_VAR(utf8, cur, afloat, needs_swap);
2742 PUSH_VAR(utf8, cur, adouble, needs_swap);
2762 PUSH_BYTES(utf8, cur, anv.bytes, sizeof(anv.bytes), needs_swap);
2784 PUSH_BYTES(utf8, cur, aldouble.bytes, sizeof(aldouble.bytes),
2797 PUSH16(utf8, cur, &ai16, FALSE);
2807 PUSH16(utf8, cur, &ai16, FALSE);
2816 PUSH_VAR(utf8, cur, aushort, needs_swap);
2827 PUSH16(utf8, cur, &au16, needs_swap);
2836 PUSH_VAR(utf8, cur, ashort, needs_swap);
2847 PUSH16(utf8, cur, &ai16, needs_swap);
2856 PUSH_VAR(utf8, cur, auint, needs_swap);
2864 PUSH_VAR(utf8, cur, aiv, needs_swap);
2872 PUSH_VAR(utf8, cur, auv, needs_swap);
2903 PUSH_GROWING_BYTES(utf8, cat, start, cur,
2936 PUSH_GROWING_BYTES(utf8, cat, start, cur,
2956 PUSH_GROWING_BYTES(utf8, cat, start, cur,
2969 PUSH_VAR(utf8, cur, aint, needs_swap);
2979 PUSH32(utf8, cur, &au32, FALSE);
2989 PUSH32(utf8, cur, &au32, FALSE);
2998 PUSH_VAR(utf8, cur, aulong, needs_swap);
3009 PUSH32(utf8, cur, &au32, needs_swap);
3018 PUSH_VAR(utf8, cur, along, needs_swap);
3029 PUSH32(utf8, cur, &ai32, needs_swap);
3038 PUSH_VAR(utf8, cur, auquad, needs_swap);
3046 PUSH_VAR(utf8, cur, aquad, needs_swap);
3052 GROWING(utf8, cat, start, cur, sizeof(char *));
3084 PUSH_VAR(utf8, cur, aptr, needs_swap);
3105 GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
3130 PUSH_BYTES(utf8, cur, hunk, end-hunk, 0);