summaryrefslogtreecommitdiff
path: root/src/utf16_le.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utf16_le.c')
-rw-r--r--src/utf16_le.c18
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
};