lib/core: Push rope maxlen to 512 instead of 64
[nit.git] / lib / core / re.nit
index f3b6208..94672b4 100644 (file)
@@ -183,7 +183,7 @@ class Regex
        # Cache of a single `regmatch_t` to prevent many calls to `malloc`
        private var native_match: NativeMatchArray is lazy do
                native_match_is_init = true
-               return new NativeMatchArray.malloc(native.re_nsub+1)
+               return new NativeMatchArray.malloc(native.as(not null).re_nsub+1)
        end
 
        private var native_match_is_init = false
@@ -368,7 +368,7 @@ class Regex
 
                # Actually execute
                var cstr = text.to_cstring
-               var rets = cstr.to_s_with_length(text.bytelen)
+               var rets = cstr.to_s_with_length(text.byte_length)
                var bytefrom = cstr.char_to_byte_index_cached(charfrom, 0, 0)
                var subcstr = cstr.fast_cstring(bytefrom)
                var eflags = gather_eflags
@@ -382,7 +382,7 @@ class Regex
                        var bfrom = native_match.rm_so + bytefrom
                        var bto = native_match.rm_eo - 1 + bytefrom
                        var cpos = cstr.byte_to_char_index_cached(bfrom, charfrom, bytefrom)
-                       var len = cstr.utf8_length(bfrom, bto)
+                       var len = cstr.utf8_length(bfrom, bto - bfrom + 1)
                        var match = new Match(rets, cpos, len)
                        var subs = match.subs
 
@@ -395,7 +395,7 @@ class Regex
                                var sub_bfrom = native_match[i].rm_so + bytefrom
                                var sub_bto = native_match[i].rm_eo - 1 + bytefrom
                                var sub_cpos = cstr.byte_to_char_index_cached(sub_bfrom, cpos, bfrom)
-                               var sub_len = cstr.utf8_length(sub_bfrom, sub_bto)
+                               var sub_len = cstr.utf8_length(sub_bfrom, sub_bto - sub_bfrom + 1)
                                subs.add(new Match(rets, sub_cpos, sub_len))
                        end
 
@@ -428,7 +428,7 @@ class Regex
                # Actually execute
                var cstr = text.to_cstring
                var subcstr = cstr
-               var rets = cstr.to_s_with_length(text.bytelen)
+               var rets = cstr.to_s_with_length(text.byte_length)
                var eflags = gather_eflags
                var eflags_or_notbol = eflags | flag_notbol
                var native_match = self.native_match
@@ -442,7 +442,7 @@ class Regex
                        var bfrom = native_match.rm_so + bytesub
                        var bto = native_match.rm_eo - 1 + bytesub
                        var cstart = cstr.byte_to_char_index_cached(bfrom, charsub, bytesub)
-                       var len = cstr.utf8_length(bfrom, bto)
+                       var len = cstr.utf8_length(bfrom, bto - bfrom + 1)
                        var match = new Match(rets, cstart, len)
                        matches.add match
                        var subs = match.subs
@@ -456,7 +456,7 @@ class Regex
                                var sub_bfrom = native_match[i].rm_so + bytesub
                                var sub_bto = native_match[i].rm_eo - 1 + bytesub
                                var sub_cstart = cstr.byte_to_char_index_cached(sub_bfrom, cstart, bfrom)
-                               var sub_len = cstr.utf8_length(sub_bfrom, sub_bto)
+                               var sub_len = cstr.utf8_length(sub_bfrom, sub_bto - sub_bfrom + 1)
                                subs.add(new Match(rets, sub_cstart, sub_len))
                        end