diff options
Diffstat (limited to 'src/utf16_le.c')
-rw-r--r-- | src/utf16_le.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/utf16_le.c b/src/utf16_le.c index 2d9af52..89bc72f 100644 --- a/src/utf16_le.c +++ b/src/utf16_le.c @@ -61,6 +61,21 @@ utf16le_mbc_enc_len(const UChar* p) } static int +is_valid_mbc_string(const UChar* p, const UChar* end) +{ + const UChar* end1 = end - 1; + + while (p < end1) { + p += utf16le_mbc_enc_len(p); + } + + if (p != end) + return FALSE; + else + return TRUE; +} + +static int utf16le_is_mbc_newline(const UChar* p, const UChar* end) { if (p + 1 < end) { @@ -225,5 +240,6 @@ OnigEncodingType OnigEncodingUTF16_LE = { utf16le_left_adjust_char_head, onigenc_always_false_is_allowed_reverse_match, NULL, /* init */ - NULL /* is_initialized */ + NULL, /* is_initialized */ + is_valid_mbc_string }; |