diff --git a/vlib/builtin/string.v b/vlib/builtin/string.v index 515b202133..8b2981b181 100644 --- a/vlib/builtin/string.v +++ b/vlib/builtin/string.v @@ -604,9 +604,17 @@ fn (s string) substr2(start int, _end int, end_max bool) string { // Example: assert 'ABCD'.substr(1,3) == 'BC' pub fn (s string) substr(start int, end int) string { $if !no_bounds_checking ? { - if start > end || start > s.len || end > s.len || start < 0 || end < 0 { - panic('substr($start, $end) out of bounds (len=$s.len)') + /* + $if debug { + if start > end || start > s.len || end > s.len || start < 0 || end < 0 { + println('substr($start, $end) out of bounds (len=$s.len)') + println('s="$s"') + print_backtrace() + return '' + } } + */ + panic('substr($start, $end) out of bounds (len=$s.len)') } len := end - start if len == s.len { diff --git a/vlib/net/urllib/urllib.v b/vlib/net/urllib/urllib.v index 72ca25cf11..17e354a9e7 100644 --- a/vlib/net/urllib/urllib.v +++ b/vlib/net/urllib/urllib.v @@ -745,8 +745,12 @@ pub fn (u URL) str() string { // preceded by a dot-segment (e.g., './this:that') to make a relative- // path reference. i := path.index_byte(`:`) - if i > -1 && path[..i].index_byte(`/`) == -1 { - buf.write_string('./') + if i > -1 { + // TODO remove this when autofree handles tmp + // expressions like this + if i > -1 && path[..i].index_byte(`/`) == -1 { + buf.write_string('./') + } } } buf.write_string(path)