diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-06-06 12:25:29 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-06-06 12:25:29 +0000 |
commit | 9a1f675436c5622b7846faa25274a2ef2d743285 (patch) | |
tree | 53f7f5a632fdcc07b11b06f7536d8609f0fecd9c | |
parent | 8aaf02b5663f7669d192ffddf56b776f1b8092ef (diff) | |
download | glibc-9a1f675436c5622b7846faa25274a2ef2d743285.tar.gz |
(UNICODE_TAG_HANDLER): New macro.
-rw-r--r-- | iconv/loop.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/iconv/loop.c b/iconv/loop.c index 79e17ebde8..08ee6000ef 100644 --- a/iconv/loop.c +++ b/iconv/loop.c @@ -1,5 +1,5 @@ /* Conversion loop frame work. - Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -212,6 +212,21 @@ } +/* Handling of Unicode 3.1 TAG characters. Unicode recommends + "If language codes are not relevant to the particular processing + operation, then they should be ignored." + This macro is usually called right before STANDARD_ERR_HANDLER (Incr). */ +#define UNICODE_TAG_HANDLER(Character, Incr) \ + { \ + /* TAG characters are those in the range U+E0000..U+E007F. */ \ + if (((Character) >> 7) == (0xe0000 >> 7)) \ + { \ + inptr += Incr; \ + continue; \ + } \ + } + + /* The function returns the status, as defined in gconv.h. */ static inline int FCTNAME (LOOPFCT) (struct __gconv_step *step, |