summary refs log tree commit diff
path: root/iconvdata/iso6937.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/iso6937.c')
-rw-r--r--iconvdata/iso6937.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/iconvdata/iso6937.c b/iconvdata/iso6937.c
index dc6da3b347..b79a9aa4e1 100644
--- a/iconvdata/iso6937.c
+++ b/iconvdata/iso6937.c
@@ -498,6 +498,10 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
 			ch = L'\0';
 		      else
 			ch = to_ucs4_comb[inchar - 0xc1][inchar2 - 0x20];
+
+		      if (ch == L'\0')
+			/* Undo the increment for illegal characters.  */
+			--cnt;
 		    }
 		  else
 		    ch = to_ucs4[inchar];