1
0
Fork 0
mirror of https://github.com/imjasonh/csvstruct synced 2026-07-19 07:15:46 +00:00

rename in

This commit is contained in:
Jason Hall 2014-05-14 21:17:36 -04:00
parent c1191dc0b4
commit 86f0dda5fe

View file

@ -21,7 +21,7 @@ func NewDecoder(r io.Reader) Decoder {
} }
} }
func (d decoder) DecodeNext(in interface{}) error { func (d decoder) DecodeNext(v interface{}) error {
if len(d.hm) == 0 { if len(d.hm) == 0 {
// First run; read header row // First run; read header row
header, err := d.r.Read() header, err := d.r.Read()
@ -31,22 +31,22 @@ func (d decoder) DecodeNext(in interface{}) error {
d.hm = reverse(header) d.hm = reverse(header)
} }
t := reflect.TypeOf(in) t := reflect.TypeOf(v)
line, err := d.r.Read() line, err := d.r.Read()
if err != nil { if err != nil {
return err return err
} }
out := reflect.ValueOf(in) out := reflect.ValueOf(v)
for i := 0; i < t.NumField(); i++ { for i := 0; i < t.NumField(); i++ {
f := t.Field(i) f := t.Field(i)
n := f.Name n := f.Name
// TODO: f.Tag.Get("csv") // TODO: f.Tag.Get("csv")
val := line[d.hm[n]] val := line[d.hm[n]]
v := reflect.ValueOf(&val) vval := reflect.ValueOf(&val)
v.Elem().SetString(line[d.hm[n]]) vval.Elem().SetString(line[d.hm[n]])
out.Elem().Set(v) out.Elem().Set(vval)
} }
return nil return nil
} }