From 55d09dc854b450c4051bea8318009a46a7c083f7 Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Sat, 9 Feb 2013 21:23:30 -0700 Subject: Extract common code to an inline function This fairly short paradigm is repeated in several places; a later commit will improve it. --- pp_pack.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'pp_pack.c') diff --git a/pp_pack.c b/pp_pack.c index 3cfc03c6f1..39f862e0a5 100644 --- a/pp_pack.c +++ b/pp_pack.c @@ -357,24 +357,12 @@ S_bytes_to_uni(const U8 *start, STRLEN len, char *dest, const bool needs_swap) { if (UNLIKELY(needs_swap)) { const U8 *p = start + len; while (p-- > start) { - const UV uv = NATIVE_TO_ASCII(*p); - if (UNI_IS_INVARIANT(uv)) - *dest++ = (char)(U8)UTF_TO_NATIVE(uv); - else { - *dest++ = (char)(U8)UTF8_EIGHT_BIT_HI(uv); - *dest++ = (char)(U8)UTF8_EIGHT_BIT_LO(uv); - } + append_utf8_from_native_byte(*p, (U8 **) & dest); } } else { const U8 * const end = start + len; while (start < end) { - const UV uv = NATIVE_TO_ASCII(*start); - if (UNI_IS_INVARIANT(uv)) - *dest++ = (char)(U8)UTF_TO_NATIVE(uv); - else { - *dest++ = (char)(U8)UTF8_EIGHT_BIT_HI(uv); - *dest++ = (char)(U8)UTF8_EIGHT_BIT_LO(uv); - } + append_utf8_from_native_byte(*start, (U8 **) & dest); start++; } } -- cgit v1.2.1