diff options
| author | Shulhan <ms@kilabit.info> | 2021-03-03 02:20:24 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2021-03-03 02:20:24 +0700 |
| commit | 8bc165049144dda3cd9927df7d2d393f34b7be1b (patch) | |
| tree | 28694aa504ffdc7185464bd340bd7536e6b7e675 /lib/ini | |
| parent | 6275cb49d2b491e844e788d9e5ca3c832b56f05f (diff) | |
| download | pakakeh.go-8bc165049144dda3cd9927df7d2d393f34b7be1b.tar.xz | |
ini: fix marshaling slice of pointer to struct
In case the root struct contains field like []*T, it should be marshalled
the same as []T.
Diffstat (limited to 'lib/ini')
| -rw-r--r-- | lib/ini/ini.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ini/ini.go b/lib/ini/ini.go index c69446b7..50b700ca 100644 --- a/lib/ini/ini.go +++ b/lib/ini/ini.go @@ -172,6 +172,9 @@ func (in *Ini) marshalStruct( case reflect.Array, reflect.Slice: for xx := 0; xx < fvalue.Len(); xx++ { item := fvalue.Index(xx) + for item.Kind() == reflect.Ptr { + item = item.Elem() + } switch item.Kind() { case reflect.Struct: vi := item.Interface() |
