X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=utf8.h;h=64dc393020a785b5550a1aa5c8f8143ac48b3cf6;hb=2c4e3d5f2923e4800b186420d39202e45c831e51;hp=fb44c8576cf9ffd0ba13ec4eb1fa25251b1cf3df;hpb=3b0fc154d4e77cfb1d426144cb362eb2fa6018f1;p=p5sagit%2Fp5-mst-13.2.git diff --git a/utf8.h b/utf8.h index fb44c85..64dc393 100644 --- a/utf8.h +++ b/utf8.h @@ -1,6 +1,6 @@ /* utf8.h * - * Copyright (C) 2000, 2001, 2002, by Larry Wall and others + * Copyright (C) 2000, 2001, 2002, 2005 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -16,12 +16,17 @@ # define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8) #endif +/* Source backward compatibility. */ +#define uvuni_to_utf8(d, uv) uvuni_to_utf8_flags(d, uv, 0) +#define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0) + #ifdef EBCDIC /* The equivalent of these macros but implementing UTF-EBCDIC are in the following header file: */ #include "utfebcdic.h" + #else START_EXTERN_C @@ -58,8 +63,8 @@ END_EXTERN_C #define ASCII_TO_NEED(enc,ch) (ch) /* As there are no translations avoid the function wrapper */ -#define Perl_utf8n_to_uvchr Perl_utf8n_to_uvuni -#define Perl_uvchr_to_utf8 Perl_uvuni_to_utf8 +#define utf8n_to_uvchr utf8n_to_uvuni +#define uvchr_to_utf8 uvuni_to_utf8 /* @@ -145,7 +150,7 @@ encoded character. * Note: we try to be careful never to call the isXXX_utf8() functions * unless we're pretty sure we've seen the beginning of a UTF-8 character * (that is, the two high bits are set). Otherwise we risk loading in the - * heavy-duty SWASHINIT and SWASHGET routines unnecessarily. + * heavy-duty swash_init and swash_fetch routines unnecessarily. */ #define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || (*((const U8*)p) < 0xc0))) \ ? isIDFIRST(*(p)) \ @@ -258,6 +263,9 @@ encoded character. #endif #define SHARP_S_SKIP 2 +#ifdef EBCDIC +/* IS_UTF8_CHAR() is not ported to EBCDIC */ +#else #define IS_UTF8_CHAR_1(p) \ ((p)[0] <= 0x7F) #define IS_UTF8_CHAR_2(p) \ @@ -327,3 +335,6 @@ encoded character. (n) == 3 ? IS_UTF8_CHAR_3(p) : \ (n) == 4 ? IS_UTF8_CHAR_4(p) : 0) +#define IS_UTF8_CHAR_FAST(n) ((n) <= 4) + +#endif /* IS_UTF8_CHAR() for UTF-8 */