From 7ff7ff2e1c95d3bea5effbf1e8f0e8f401e2e625 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Thu, 16 Jun 2011 13:56:05 +1000 Subject: Optimise [lrange] when returning the whole list Signed-off-by: Steve Bennett --- jim.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jim.c b/jim.c index d343a41..1ec3e67 100644 --- a/jim.c +++ b/jim.c @@ -6195,6 +6195,9 @@ Jim_Obj *Jim_ListRange(Jim_Interp *interp, Jim_Obj *listObjPtr, Jim_Obj *firstOb first = JimRelToAbsIndex(len, first); last = JimRelToAbsIndex(len, last); JimRelToAbsRange(len, first, last, &first, &last, &rangeLen); + if (first == 0 && last == len) { + return listObjPtr; + } return Jim_NewListObj(interp, listObjPtr->internalRep.listValue.ele + first, rangeLen); } -- cgit v1.1