Skip to content

Commit 54b9639

Browse files
k-takatanobu
authored andcommitted
Avoid negative character
Better fix for k-takata/Onigmo#107. k-takata/Onigmo@85393e4
1 parent daf0d6c commit 54b9639

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

enc/unicode.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -687,10 +687,8 @@ onigenc_unicode_case_map(OnigCaseFoldType* flagP,
687687
MODIFIED;
688688
if (flags & ONIGENC_CASE_FOLD_TURKISH_AZERI && code == 'i')
689689
code = I_WITH_DOT_ABOVE;
690-
else {
691-
code -= 'a';
692-
code += 'A';
693-
}
690+
else
691+
code -= 'a' - 'A';
694692
}
695693
}
696694
else if (code >= 'A' && code <= 'Z') {

regenc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,7 @@ onigenc_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const
984984

985985
if (code >= 'a' && code <= 'z' && (flags & ONIGENC_CASE_UPCASE)) {
986986
flags |= ONIGENC_CASE_MODIFIED;
987-
code += 'A' - 'a';
987+
code -= 'a' - 'A';
988988
}
989989
else if (code >= 'A' && code <= 'Z' &&
990990
(flags & (ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_FOLD))) {
@@ -1013,7 +1013,7 @@ onigenc_single_byte_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar
10131013

10141014
if (code >= 'a' && code <= 'z' && (flags & ONIGENC_CASE_UPCASE)) {
10151015
flags |= ONIGENC_CASE_MODIFIED;
1016-
code += 'A' - 'a';
1016+
code -= 'a' - 'A';
10171017
}
10181018
else if (code >= 'A' && code <= 'Z' &&
10191019
(flags & (ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_FOLD))) {

0 commit comments

Comments
 (0)