about summary refs log tree commit diff
path: root/iconv/gconv_trans.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconv/gconv_trans.c')
-rw-r--r--iconv/gconv_trans.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/iconv/gconv_trans.c b/iconv/gconv_trans.c
index 9e04e64ee2..1f1dd01b19 100644
--- a/iconv/gconv_trans.c
+++ b/iconv/gconv_trans.c
@@ -1,5 +1,5 @@
 /* Transliteration using the locale's data.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
 
@@ -139,7 +139,10 @@ __gconv_transliterate (struct __gconv_step *step,
 		      ++*irreversible;
 		      res = __GCONV_OK;
 		    }
-		  *outbufstart = outptr;
+		  /* Do not increment the output pointer if we could not
+		     store the entire output. */
+		  if (res != __GCONV_FULL_OUTPUT)
+		    *outbufstart = outptr;
 
 		  return res;
 		}