summaryrefslogtreecommitdiff
path: root/charclass_invlists.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-02-28 10:11:35 -0700
committerKarl Williamson <public@khwilliamson.com>2012-02-28 10:24:52 -0700
commitb4069bca6054692e4fffa8e9e04572511e910fbd (patch)
tree1f840d06fa883007d35290ad1f411960c583b596 /charclass_invlists.h
parent5ef3c22d461004ed95fd0cee11e2926f8b87bc7c (diff)
downloadperl-b4069bca6054692e4fffa8e9e04572511e910fbd.tar.gz
Patch [perl #111400] [:upper:] broken for above Latin1
This was an off-by-one error caused by my failing to realize that things had to be done differently at the 255/256 boundary depending on whether U+00FF matched or did not match the property. Two properties were affected, [:upper:] and [:punct:]. The bug was that all code points above the first one > 255 that legitimately matches the property will match whether or not they should. In the case of [:upper:], this meant that effectively anything from 256..infinity matched. For [:punct:], it was anything above U+037D.
Diffstat (limited to 'charclass_invlists.h')
-rw-r--r--charclass_invlists.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/charclass_invlists.h b/charclass_invlists.h
index 152793a2e6..368410fd37 100644
--- a/charclass_invlists.h
+++ b/charclass_invlists.h
@@ -359,7 +359,7 @@ UV PosixPunct_invlist[] = {
};
UV L1PosixPunct_invlist[] = {
- 21, /* Number of elements */
+ 20, /* Number of elements */
0, /* Current iteration position */
1064334010, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
@@ -383,8 +383,7 @@ UV L1PosixPunct_invlist[] = {
187,
188,
191,
- 192,
- 894
+ 192
};
UV PosixSpace_invlist[] = {
@@ -440,7 +439,7 @@ UV PosixUpper_invlist[] = {
};
UV L1PosixUpper_invlist[] = {
- 7, /* Number of elements */
+ 6, /* Number of elements */
0, /* Current iteration position */
1064334010, /* Version and data structure type */
1, /* 0 if this is the first element of the list proper;
@@ -450,8 +449,7 @@ UV L1PosixUpper_invlist[] = {
192,
215,
216,
- 223,
- 256
+ 223
};
UV PosixWord_invlist[] = {