summaryrefslogtreecommitdiff
path: root/Build/source/texk/mendexk/fread.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/mendexk/fread.c')
-rw-r--r--Build/source/texk/mendexk/fread.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/Build/source/texk/mendexk/fread.c b/Build/source/texk/mendexk/fread.c
index e183bca11a4..8ff2eb357f6 100644
--- a/Build/source/texk/mendexk/fread.c
+++ b/Build/source/texk/mendexk/fread.c
@@ -207,9 +207,17 @@ LOOP:
wbuff[k]=buff[j];
if (buff[j]!=escape) esc=0;
if ((unsigned char)buff[j]>=0x80) {
- wbuff[k+1]=buff[j+1];
- j++;
- k++;
+ int len = multibytelen((unsigned char)buff[j]);
+ if (len<0) {
+ verb_printf(efp,"\nWarning: Illegal input of lead byte 0x%x in UTF-8.",(unsigned char)buff[j]);
+ k--;
+ continue;
+ }
+ while(--len) {
+ wbuff[k+1]=buff[j+1];
+ j++;
+ k++;
+ }
}
}
ind[i].words=indent+1;