From 9314fb0ef64171d6a3d0a4fa570dfa33441cba05 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 10 Dec 2015 12:26:54 -0500 Subject: [PATCH] fix default mapping error --- ini.go | 2 +- struct.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ini.go b/ini.go index 0bd3ec1..273b4d4 100644 --- a/ini.go +++ b/ini.go @@ -34,7 +34,7 @@ const ( // Maximum allowed depth when recursively substituing variable names. _DEPTH_VALUES = 99 - _VERSION = "1.8.2" + _VERSION = "1.8.3" ) func Version() string { diff --git a/struct.go b/struct.go index c118437..3fb92c3 100644 --- a/struct.go +++ b/struct.go @@ -94,13 +94,14 @@ func setWithProperType(t reflect.Type, key *Key, field reflect.Value, delim stri field.SetBool(boolVal) case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: durationVal, err := key.Duration() - if err == nil { + // Skip zero value + if err == nil && int(durationVal) > 0 { field.Set(reflect.ValueOf(durationVal)) return nil } intVal, err := key.Int64() - if err != nil { + if err != nil || intVal == 0 { return nil } field.SetInt(intVal)