summaryrefslogtreecommitdiff
path: root/iconvdata/armscii-8.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/armscii-8.c')
-rw-r--r--iconvdata/armscii-8.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/iconvdata/armscii-8.c b/iconvdata/armscii-8.c
index dbaf8be2ee..013202d9dc 100644
--- a/iconvdata/armscii-8.c
+++ b/iconvdata/armscii-8.c
@@ -1,5 +1,5 @@
/* Conversion to and from ARMSCII-8
- Copyright (C) 1997-1999, 2000-2002 Free Software Foundation, Inc.
+ Copyright (C) 1997-1999, 2000-2002, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -57,11 +57,17 @@ static const uint16_t map_from_armscii_8[0xfe - 0xa2 + 1] =
uint_fast8_t ch = *inptr; \
\
if (ch <= 0xa0) \
- /* Upto and including 0xa0 the ARMSCII-8 corresponds to Unicode. */ \
- *((uint32_t *) outptr)++ = ch; \
+ { \
+ /* Upto and including 0xa0 the ARMSCII-8 corresponds to Unicode. */ \
+ *((uint32_t *) outptr) = ch; \
+ outptr += sizeof (uint32_t); \
+ } \
else if (ch >= 0xa2 && ch <= 0xfe) \
- /* Use the table. */ \
- *((uint32_t *) outptr)++ = map_from_armscii_8[ch - 0xa2]; \
+ { \
+ /* Use the table. */ \
+ *((uint32_t *) outptr) = map_from_armscii_8[ch - 0xa2]; \
+ outptr += sizeof (uint32_t); \
+ } \
else \
{ \
/* This is an illegal character. */ \