From 25ea5c35b8ee8761f82b844cc11a8051015e541a Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Sat, 26 May 2012 01:52:43 +0100 Subject: Added timezone handling and functions for adding and subtracting time to the times module. Added insert for strings to the system module. --- lib/system.nim | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/system.nim') diff --git a/lib/system.nim b/lib/system.nim index 148df7e34..0c6aea750 100755 --- a/lib/system.nim +++ b/lib/system.nim @@ -2290,5 +2290,18 @@ template eval*(blk: stmt): stmt = macro payload(x: stmt): stmt = blk payload() +proc insert*(x: var string, item: string, i = 0) {.noSideEffect.} = + ## inserts `item` into `x` at position `i`. + var xl = x.len + setLen(x, xl+item.len) + var j = xl-1 + while j >= i: + shallowCopy(x[j+item.len], x[j]) + dec(j) + j = 0 + while j < item.len: + x[j+i] = item[j] + inc(j) + when defined(initDebugger): initDebugger() -- cgit 1.4.1-2-gfad0