about summary refs log tree commit diff
path: root/iconvdata/8bit-gap.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/8bit-gap.c')
-rw-r--r--iconvdata/8bit-gap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c
index 6c78ce5c24..a8d3c99a68 100644
--- a/iconvdata/8bit-gap.c
+++ b/iconvdata/8bit-gap.c
@@ -110,7 +110,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 	      while (cnt < inchars
 		     && (outwchars + sizeof (wchar_t) <= data->outbufsize))
 		{
-		  wchar_t ch = to_ucs4[(unsigned int) inbuf[cnt]];
+		  wchar_t ch = to_ucs4[((unsigned char *) inbuf)[cnt]];
 
 		  if (ch == L'\0' && inbuf[cnt] != '\0')
 		    {
@@ -125,6 +125,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 		  ++cnt;
 		}
 	      *inbufsize -= cnt;
+	      inbuf += cnt;
 	      data->outbufavail = outwchars;
 	    }
 	  else
@@ -158,6 +159,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 		  cnt += sizeof (wchar_t);
 		}
 	      *inbufsize -= cnt;
+	      inbuf += cnt;
 	      data->outbufavail = outchars;
 
 	      if (outchars < data->outbufsize)