(ptr *map[string]string)
| 99 | } |
| 100 | |
| 101 | func (d *Decoder) decodeMapStringStringPtr(ptr *map[string]string) error { |
| 102 | size, err := d.DecodeMapLen() |
| 103 | if err != nil { |
| 104 | return err |
| 105 | } |
| 106 | if size == -1 { |
| 107 | *ptr = nil |
| 108 | return nil |
| 109 | } |
| 110 | |
| 111 | m := *ptr |
| 112 | if m == nil { |
| 113 | ln := size |
| 114 | if d.flags&disableAllocLimitFlag == 0 { |
| 115 | ln = min(size, maxMapSize) |
| 116 | } |
| 117 | *ptr = make(map[string]string, ln) |
| 118 | m = *ptr |
| 119 | } |
| 120 | |
| 121 | for i := 0; i < size; i++ { |
| 122 | mk, err := d.DecodeString() |
| 123 | if err != nil { |
| 124 | return err |
| 125 | } |
| 126 | mv, err := d.DecodeString() |
| 127 | if err != nil { |
| 128 | return err |
| 129 | } |
| 130 | m[mk] = mv |
| 131 | } |
| 132 | |
| 133 | return nil |
| 134 | } |
| 135 | |
| 136 | func decodeMapStringInterfaceValue(d *Decoder, v reflect.Value) error { |
| 137 | ptr := v.Addr().Convert(mapStringInterfacePtrType).Interface().(*map[string]interface{}) |
no test coverage detected