(dst *string)
| 190 | } |
| 191 | |
| 192 | func (d *Decoder) readStringNonCopy(dst *string) error { |
| 193 | l, err := d.readShort() |
| 194 | if err != nil { |
| 195 | return err |
| 196 | } |
| 197 | |
| 198 | if err := d.rd.fill(int(l)); err != nil { |
| 199 | return err |
| 200 | } |
| 201 | |
| 202 | buf := d.rd.buf[d.rd.r : d.rd.r+int(l)] |
| 203 | d.rd.r += int(l) |
| 204 | |
| 205 | *dst = unsafe.String(unsafe.SliceData(buf), len(buf)) |
| 206 | |
| 207 | return nil |
| 208 | } |
| 209 | |
| 210 | func (d *Decoder) readStringPtr(dst unsafe.Pointer) error { |
| 211 | return d.readString((*string)(dst)) |
no test coverage detected