MacRuby : bug : regexp
diff --git a/re.c b/re.c
index acf6cb5..d638cac 100644
--- a/re.c
+++ b/re.c
@@ -161,6 +161,19 @@ sanitize_regexp_string(UChar **chars_p, long *chars_len_p)
break;
}
UChar c = chars[i];
+ if (c == 'h') {
+ // Handling for '\h'. replace '\h' to "[0-9a-fA-F]".
+ char *hex = "[0-9a-fA-F]";
+ long len = strlen(hex);
+ chars = (UChar *)xrealloc(chars, sizeof(UChar) * (chars_len + len));
+ memmove(&chars[i + len - 1], &chars[i + 1],
+ sizeof(UChar) * (chars_len - i - 1));
+ for(int j = 0; j < len; j++) {
+ chars[i + j - 1] = hex[j];
+ }
+ chars_len += len - 2;
+ break;
+ }
if (rb_isdigit(c)) {
if (is_octal_literal(&chars[i], chars_len)) {
// Handling for octal literals.
str = "abc%64%65%65"
p /%\h\h/ =~ str
p /%[0-9a-fA-F][0-9a-fA-F]/ =~ str