From b61885dee76bfa7ae6f64c0ef620be5f2fdc8f64 Mon Sep 17 00:00:00 2001 From: Rich Hickey Date: Mon, 5 Jun 2006 20:08:35 +0000 Subject: fixed array copy in put --- src/org/clojure/runtime/ArrayMap.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/org/clojure/runtime/ArrayMap.java b/src/org/clojure/runtime/ArrayMap.java index 9087d1f1..89e95e38 100644 --- a/src/org/clojure/runtime/ArrayMap.java +++ b/src/org/clojure/runtime/ArrayMap.java @@ -72,8 +72,10 @@ public IMap put(Object key, Object val) { else //didn't have key, grow { newArray = new Object[array.length + 2]; - newArray[array.length] = key; - newArray[array.length + 1] = val; + if(array.length > 0) + System.arraycopy(array,0,newArray,2,array.length); + newArray[0] = key; + newArray[1] = val; } return new ArrayMap(newArray); } -- cgit v1.2.3-70-g09d2