From: Ulrich Drepper Date: Wed, 30 Jun 2004 07:33:05 +0000 (+0000) Subject: Use get16/put16 for user given buffer in ucs2/ucs2reverse when unaligned memory acces... X-Git-Tag: cvs/fedora-base~359 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=606135cf62624432a4b6fac724cad0e23b01202a;p=thirdparty%2Fglibc.git Use get16/put16 for user given buffer in ucs2/ucs2reverse when unaligned memory access is attempted. --- diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c index 2ed8c523ccd..e0d14139ba6 100644 --- a/iconv/gconv_simple.c +++ b/iconv/gconv_simple.c @@ -1158,7 +1158,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step, #define LOOPFCT FROM_LOOP #define BODY \ { \ - uint16_t u1 = *((const uint16_t *) inptr); \ + uint16_t u1 = get16 (inptr); \ \ if (__builtin_expect (u1 >= 0xd800 && u1 < 0xe000, 0)) \ { \ @@ -1216,7 +1216,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step, } \ else \ { \ - *((uint16_t *) outptr) = val; \ + put16 (outptr, val); \ outptr += sizeof (uint16_t); \ inptr += 4; \ } \ @@ -1242,7 +1242,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step, #define LOOPFCT FROM_LOOP #define BODY \ { \ - uint16_t u1 = bswap_16 (*((const uint16_t *) inptr)); \ + uint16_t u1 = bswap_16 (get16 (inptr)); \ \ if (__builtin_expect (u1 >= 0xd800 && u1 < 0xe000, 0)) \ { \ @@ -1308,7 +1308,7 @@ ucs4le_internal_loop_single (struct __gconv_step *step, } \ else \ { \ - *((uint16_t *) outptr) = bswap_16 (val); \ + put16 (outptr, bswap_16 (val)); \ outptr += sizeof (uint16_t); \ inptr += 4; \ } \