summary refs log tree commit diff
path: root/iconvdata/iso646.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/iso646.c')
-rw-r--r--iconvdata/iso646.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/iconvdata/iso646.c b/iconvdata/iso646.c
index 53ca76cb14..3c40c8fd0c 100644
--- a/iconvdata/iso646.c
+++ b/iconvdata/iso646.c
@@ -292,19 +292,17 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 
 	      /* Correct the output buffer.  */
 	      if (newavail != data->outbufavail && newavail > 0)
-		{
-		  memmove (data->outbuf,
-			   &data->outbuf[data->outbufavail - newavail],
-			   newavail);
-		  data->outbufavail = newavail;
-		}
+		memmove (data->outbuf,
+			 &data->outbuf[data->outbufavail - newavail],
+			 newavail);
+	      data->outbufavail = newavail;
 	    }
 	}
       while (*inbufsize > 0 && result == GCONV_EMPTY_INPUT);
     }
 
   if (written != NULL && data->is_last)
-    *written = do_write;
+    *written += do_write;
 
   return result;
 }