aboutsummaryrefslogtreecommitdiff
path: root/lib/ini
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2021-03-03 02:20:24 +0700
committerShulhan <ms@kilabit.info>2021-03-03 02:20:24 +0700
commit8bc165049144dda3cd9927df7d2d393f34b7be1b (patch)
tree28694aa504ffdc7185464bd340bd7536e6b7e675 /lib/ini
parent6275cb49d2b491e844e788d9e5ca3c832b56f05f (diff)
downloadpakakeh.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.go3
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()