From d071d1916a77a05f69136db0694aef3eafc9b230 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 23 Mar 2009 18:32:37 -0700 Subject: allow range on nil maps R=ken OCL=26663 CL=26663 --- src/runtime/hashmap.c | 4 ++++ test/map.go | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/runtime/hashmap.c b/src/runtime/hashmap.c index bb8dd7ba9..b3022ca14 100644 --- a/src/runtime/hashmap.c +++ b/src/runtime/hashmap.c @@ -870,6 +870,10 @@ sys·mapassign2(Hmap *h, ...) void sys·mapiterinit(Hmap *h, struct hash_iter *it) { + if(h == nil) { + it->data = nil; + return; + } hash_iter_init(h, it); it->data = hash_next(it); if(debug) { diff --git a/test/map.go b/test/map.go index 085502bf5..95da48c75 100644 --- a/test/map.go +++ b/test/map.go @@ -487,4 +487,10 @@ func main() { fmt.Printf("update mipM[%d][%d] = %i\n", i, i, mipM[i][i]); } } + + // test range on nil map + var mnil map[string] int; + for x, y := range mnil { + panic("range mnil"); + } } -- cgit v1.2.3