diff options
Diffstat (limited to 'enc/euc_jp.c')
-rw-r--r-- | enc/euc_jp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/enc/euc_jp.c b/enc/euc_jp.c index 4121750b8d..7922aac150 100644 --- a/enc/euc_jp.c +++ b/enc/euc_jp.c @@ -378,12 +378,13 @@ mbc_case_fold(OnigCaseFoldType flag, return 1; } else { + OnigCodePoint code; int len; len = mbc_enc_len(p, end, enc); - if (len <= 0) return 1; - get_lower_case(mbc_to_code(p, end, enc)); - /* assuming case folding in euc-jp doesn't change length */ + code = get_lower_case(mbc_to_code(p, end, enc)); + len = code_to_mbc(code, lower, enc); + if (len == ONIGERR_INVALID_CODE_POINT_VALUE) len = 1; (*pp) += len; return len; /* return byte length of converted char to lower */ } |