diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 19:30:36 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 19:30:36 +0000 |
commit | 704e05ff173885df6d1d27f381604429f27fd4de (patch) | |
tree | fc67caec36bc5ed0c4190cafd38f69850a10ca0a /iconv/gconv_simple.c | |
parent | ecfe3e291f848cf598309d746619de62ea88fabb (diff) | |
parent | 3fcbb67b7949a8b362de5558bf1c6dd7ec5d21cf (diff) |
Merge branch 't/tls-threadvar' into refs/top-bases/t/ONSTACK
Diffstat (limited to 'iconv/gconv_simple.c')
-rw-r--r-- | iconv/gconv_simple.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c index 5412bd6f65..506c92caf2 100644 --- a/iconv/gconv_simple.c +++ b/iconv/gconv_simple.c @@ -1,5 +1,5 @@ /* Simple transformations functions. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -638,6 +638,8 @@ ucs4le_internal_loop (struct __gconv_step *step, continue; } + *inptrp = inptr; + *outptrp = outptr; return __GCONV_ILLEGAL_INPUT; } @@ -890,7 +892,8 @@ ucs4le_internal_loop_single (struct __gconv_step *step, if (__glibc_likely (wc < 0x80)) \ /* It's an one byte sequence. */ \ *outptr++ = (unsigned char) wc; \ - else if (__glibc_likely (wc <= 0x7fffffff)) \ + else if (__glibc_likely (wc <= 0x7fffffff \ + && (wc < 0xd800 || wc > 0xdfff))) \ { \ size_t step; \ unsigned char *start; \ |