summaryrefslogtreecommitdiff
path: root/src/iso8859_7.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/iso8859_7.c')
-rw-r--r--src/iso8859_7.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/iso8859_7.c b/src/iso8859_7.c
index 018efac..07b1360 100644
--- a/src/iso8859_7.c
+++ b/src/iso8859_7.c
@@ -2,7 +2,7 @@
iso8859_7.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
@@ -104,12 +104,16 @@ static const unsigned short EncISO_8859_7_CtypeTable[256] = {
};
static int
-mbc_case_fold(OnigCaseFoldType flag ARG_UNUSED,
+mbc_case_fold(OnigCaseFoldType flag,
const UChar** pp, const UChar* end ARG_UNUSED, UChar* lower)
{
const UChar* p = *pp;
- *lower = ENC_ISO_8859_7_TO_LOWER_CASE(*p);
+ if (CASE_FOLD_IS_NOT_ASCII_ONLY(flag) || ONIGENC_IS_ASCII_CODE(*p))
+ *lower = ENC_ISO_8859_7_TO_LOWER_CASE(*p);
+ else
+ *lower = *p;
+
(*pp)++;
return 1;
}