summary refs log tree commit diff
path: root/iconv
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-12-12 18:13:35 +0000
committerJakub Jelinek <jakub@redhat.com>2007-12-12 18:13:35 +0000
commit574e283890a6ca92325a06dafa76ff307a8019a2 (patch)
tree055e44e24a55fb4863e5d9cdc04e320cde52ffe9 /iconv
parenta162e5955f7e324be82d9318bbcbe869c66ffb86 (diff)
downloadglibc-574e283890a6ca92325a06dafa76ff307a8019a2.tar.gz
glibc-574e283890a6ca92325a06dafa76ff307a8019a2.tar.xz
glibc-574e283890a6ca92325a06dafa76ff307a8019a2.zip
Updated to fedora-glibc-20071212T1051
Diffstat (limited to 'iconv')
-rw-r--r--iconv/loop.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/iconv/loop.c b/iconv/loop.c
index 9785bf865c..df8c8dce9f 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -225,7 +225,12 @@
       }									      \
     /* If any of them recognized the input continue with the loop.  */	      \
     if (result != __GCONV_ILLEGAL_INPUT)				      \
-      continue;								      \
+      {									      \
+	if (__builtin_expect (result == __GCONV_FULL_OUTPUT, 0))	      \
+	  break;							      \
+									      \
+	continue;							      \
+      }									      \
 									      \
     /* Next see whether we have to ignore the error.  If not, stop.  */	      \
     if (! ignore_errors_p ())						      \