summaryrefslogtreecommitdiffstats
path: root/contrib/less/charset.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/less/charset.c')
-rw-r--r--contrib/less/charset.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/less/charset.c b/contrib/less/charset.c
index 628218d..37d344d 100644
--- a/contrib/less/charset.c
+++ b/contrib/less/charset.c
@@ -668,6 +668,7 @@ step_char(pp, dir, limit)
char *limit;
{
LWCHAR ch;
+ int len;
char *p = *pp;
if (!utf_mode)
@@ -679,14 +680,15 @@ step_char(pp, dir, limit)
ch = (LWCHAR) ((p > limit) ? *--p : 0);
} else if (dir > 0)
{
- if (p + utf_len(*p) > limit)
+ len = utf_len(*p);
+ if (p + len > limit)
+ {
ch = 0;
- else
+ p = limit;
+ } else
{
ch = get_wchar(p);
- p++;
- while (IS_UTF8_TRAIL(*p))
- p++;
+ p += len;
}
} else
{
OpenPOWER on IntegriCloud