diff options
author | Victor Häggqvist <[email protected]> | 2020-04-21 09:34:44 +0200 |
---|---|---|
committer | Victor Häggqvist <[email protected]> | 2020-04-21 09:34:44 +0200 |
commit | d21f39eeebd3586e7faf4d83c7a8e12b6e04c82e (patch) | |
tree | 1793d726cd50cb2d3a4311d8bb38fbf3fbdeda12 /vendor/github.com/gocarina/gocsv/encode.go | |
parent | d0a84f15f765383e077fee487af61c0e2e6bdf6d (diff) |
replace ini
Diffstat (limited to '')
-rw-r--r-- | vendor/github.com/gocarina/gocsv/encode.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vendor/github.com/gocarina/gocsv/encode.go b/vendor/github.com/gocarina/gocsv/encode.go index 7a41f9f..8671533 100644 --- a/vendor/github.com/gocarina/gocsv/encode.go +++ b/vendor/github.com/gocarina/gocsv/encode.go @@ -133,7 +133,15 @@ func ensureInInnerType(outInnerType reflect.Type) error { func getInnerField(outInner reflect.Value, outInnerWasPointer bool, index []int) (string, error) { oi := outInner if outInnerWasPointer { + if oi.IsNil() { + return "", nil + } oi = outInner.Elem() } + // because pointers can be nil need to recurse one index at a time and perform nil check + if len(index) > 1 { + nextField := oi.Field(index[0]) + return getInnerField(nextField, nextField.Kind() == reflect.Ptr, index[1:]) + } return getFieldAsString(oi.FieldByIndex(index)) } |