aboutsummaryrefslogtreecommitdiffstats
path: root/regenc.c
diff options
context:
space:
mode:
Diffstat (limited to 'regenc.c')
-rw-r--r--regenc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/regenc.c b/regenc.c
index bb180367da..065e4d298a 100644
--- a/regenc.c
+++ b/regenc.c
@@ -136,7 +136,7 @@ onigenc_strlen_null(OnigEncoding enc, const UChar* s)
{
int n = 0;
UChar* p = (UChar* )s;
- UChar* e = p + strlen((const char *)s);
+ UChar* e;
while (1) {
if (*p == '\0') {
@@ -152,6 +152,7 @@ onigenc_strlen_null(OnigEncoding enc, const UChar* s)
}
if (len == 1) return n;
}
+ e = p + ONIGENC_MBC_MAXLEN(enc);
p += ONIGENC_MBC_ENC_LEN(enc, p, e);
n++;
}
@@ -162,7 +163,7 @@ onigenc_str_bytelen_null(OnigEncoding enc, const UChar* s)
{
UChar* start = (UChar* )s;
UChar* p = (UChar* )s;
- UChar* e = p + strlen((const char *)s);
+ UChar* e;
while (1) {
if (*p == '\0') {
@@ -178,6 +179,7 @@ onigenc_str_bytelen_null(OnigEncoding enc, const UChar* s)
}
if (len == 1) return (int )(p - start);
}
+ e = p + ONIGENC_MBC_MAXLEN(enc);
p += ONIGENC_MBC_ENC_LEN(enc, p, e);
}
}