diff options
author | Takuji Tanaka <KXD02663@nifty.ne.jp> | 2014-05-10 15:58:16 +0000 |
---|---|---|
committer | Takuji Tanaka <KXD02663@nifty.ne.jp> | 2014-05-10 15:58:16 +0000 |
commit | 487d5d175ae7cafc58c99da95eb702cd4058bfb6 (patch) | |
tree | 94b010d2163c911f9932384fedf6aca656061ca4 /Build/source/texk/mendexk/fread.c | |
parent | 95c392fae481135ee05f637f78e76eafbb1d26c8 (diff) |
mendexk: Add a new option -I to switch internal buffers to EUC-JP or UTF-8
git-svn-id: svn://tug.org/texlive/trunk@33962 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/mendexk/fread.c')
-rw-r--r-- | Build/source/texk/mendexk/fread.c | 14 |
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; |