diff --git a/src/modules/_Charset/iso2022.c b/src/modules/_Charset/iso2022.c index fb1a02757f4dfdee70a5559ef7e84f7559a05c9b..bff268c6eb3174dfee8e9f68ee7712e95f7de099 100644 --- a/src/modules/_Charset/iso2022.c +++ b/src/modules/_Charset/iso2022.c @@ -3,7 +3,7 @@ #endif /* HAVE_CONFIG_H */ #include "global.h" -RCSID("$Id: iso2022.c,v 1.1 1998/10/15 19:33:36 marcus Exp $"); +RCSID("$Id: iso2022.c,v 1.2 1998/11/06 02:27:20 marcus Exp $"); #include "program.h" #include "interpret.h" #include "stralloc.h" @@ -289,11 +289,15 @@ static INT32 eat_chars(unsigned char *src, INT32 srclen, else if(*src>=0x80) { for(l=1; l<srclen && src[l]>=0xa0; l++); l -= eat_text(src, l, s, s->gr); + if(l==0) + return srclen; src += l; srclen -= l; } else { for(l=1; l<srclen && src[l]>=0x20 && src[l]<0x80; l++); l -= eat_text(src, l, s, s->gl); + if(l==0) + return srclen; src += l; srclen -= l; }