From 4e5e42a1c1a9eb757743648c48df70cbd42635db Mon Sep 17 00:00:00 2001 From: Ondřej Surý Date: Mon, 23 May 2011 09:45:29 +0200 Subject: Imported Upstream version 2011.05.22 --- src/pkg/xml/read.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/pkg/xml/read.go') diff --git a/src/pkg/xml/read.go b/src/pkg/xml/read.go index 554b2a61b..e2b349c3f 100644 --- a/src/pkg/xml/read.go +++ b/src/pkg/xml/read.go @@ -220,13 +220,10 @@ func (p *Parser) unmarshal(val reflect.Value, start *StartElement) os.Error { } if pv := val; pv.Kind() == reflect.Ptr { - if pv.Pointer() == 0 { - zv := reflect.Zero(pv.Type().Elem()) - pv.Set(zv.Addr()) - val = zv - } else { - val = pv.Elem() + if pv.IsNil() { + pv.Set(reflect.New(pv.Type().Elem())) } + val = pv.Elem() } var ( -- cgit v1.2.3