summaryrefslogtreecommitdiff
path: root/src/sjis.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sjis.c')
-rw-r--r--src/sjis.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/sjis.c b/src/sjis.c
index 1fd92d9..10afd9d 100644
--- a/src/sjis.c
+++ b/src/sjis.c
@@ -2,7 +2,7 @@
sjis.c - Oniguruma (regular expression library)
**********************************************************************/
/*-
- * Copyright (c) 2002-2019 K.Kosako
+ * Copyright (c) 2002-2020 K.Kosako
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -113,13 +113,15 @@ static int
code_to_mbclen(OnigCodePoint code)
{
if (code < 256) {
- return EncLen_SJIS[(int )code] == 1;
+ if (EncLen_SJIS[(int )code] == 1)
+ return 1;
}
- else if (code <= 0xffff) {
- return 2;
+ else if (code < 0x10000) {
+ if (EncLen_SJIS[(int )(code >> 8) & 0xff] == 2)
+ return 2;
}
- else
- return ONIGERR_INVALID_CODE_POINT_VALUE;
+
+ return ONIGERR_INVALID_CODE_POINT_VALUE;
}
static OnigCodePoint