summaryrefslogtreecommitdiff
path: root/parse.go
diff options
context:
space:
mode:
authorFredrik Wallgren <[email protected]>2016-02-29 22:05:26 +0100
committerFredrik Wallgren <[email protected]>2016-02-29 22:05:26 +0100
commit1488562b1ebdb57ebdc74e640900153fb624b2e6 (patch)
treecce6f609a63555bf11eb0974469ec9f4d01ffab0 /parse.go
parentaaae1550b702cee36c45fdee30a58ba4cc733edd (diff)
Allow override of defaults for slice arguments
This commit fixes a bug where if a multiple value argument (slice) has default values, the submitted values will be appended to the default. Not overriding them as expected.
Diffstat (limited to 'parse.go')
-rw-r--r--parse.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/parse.go b/parse.go
index c959656..b08a298 100644
--- a/parse.go
+++ b/parse.go
@@ -322,6 +322,11 @@ func setSlice(dest reflect.Value, values []string) error {
elem = elem.Elem()
}
+ // Truncate the dest slice in case default values exist
+ if !dest.IsNil() {
+ dest.SetLen(0)
+ }
+
for _, s := range values {
v := reflect.New(elem)
if err := setScalar(v.Elem(), s); err != nil {