From 9e334c1762dc964c6e267dca3780db3a7c8493c7 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 19 Apr 2019 01:03:17 -0700 Subject: No-op optimization in substring. * lib.c (sub_str): Optimization: if the range spans the entire string, just return it; don't allocate a copy. --- lib.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib.c') diff --git a/lib.c b/lib.c index 14b4348d..ec8735e1 100644 --- a/lib.c +++ b/lib.c @@ -3742,6 +3742,8 @@ val sub_str(val str_in, val from, val to) if (ge(from, to)) { return null_string; + } else if (from == zero && eql(to, len)) { + return str_in; } else { size_t nchar = c_num(to) - c_num(from) + 1; wchar_t *sub = chk_wmalloc(nchar); -- cgit v1.2.3