aboutsummaryrefslogtreecommitdiffstats
path: root/enc
diff options
context:
space:
mode:
authorduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-17 03:09:00 +0000
committerduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-17 03:09:00 +0000
commitfdbb82967f54491b3b209af8f2d4aeedfb5ea214 (patch)
treedcc430ef987ce8f6f6d0a20a561c9a5e57b4c19e /enc
parent551f6b3a18bd0a298773407246a25750c926f863 (diff)
downloadruby-fdbb82967f54491b3b209af8f2d4aeedfb5ea214.tar.gz
* enc/unicode.c: Fixed two macro definitions.
* test/ruby/enc/test_case_mapping.rb: Test cases that detected the above bugs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc')
-rw-r--r--enc/unicode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/enc/unicode.c b/enc/unicode.c
index 5087c55a07..796eb94c19 100644
--- a/enc/unicode.c
+++ b/enc/unicode.c
@@ -147,7 +147,7 @@ code3_equal(const OnigCodePoint *x, const OnigCodePoint *y)
#define SpecialsCodepointExtract(n) ((n)&((1<<SpecialsLengthOffset)-1))
#define SpecialsLengthEncode(n) ((n)<<SpecialsLengthOffset)
-#define OnigSpecialIndexMask (((1<<OnigSpecialIndexWidth)-1)<<OnigSpecialIndexWidth)
+#define OnigSpecialIndexMask (((1<<OnigSpecialIndexWidth)-1)<<OnigSpecialIndexShift)
#define OnigSpecialIndexEncode(n) ((n)<<OnigSpecialIndexShift)
#define OnigSpecialIndexDecode(n) (((n)&OnigSpecialIndexMask)>>OnigSpecialIndexShift)
@@ -158,7 +158,7 @@ code3_equal(const OnigCodePoint *x, const OnigCodePoint *y)
#define ST ONIGENC_CASE_TITLECASE
#define SU ONIGENC_CASE_UP_SPECIAL
#define SL ONIGENC_CASE_DOWN_SPECIAL
-#define I(n) 0
+#define I(n) OnigSpecialIndexEncode(n)
#define L(n) SpecialsLengthEncode(n)
#include "enc/unicode/casefold.h"