From: YenForYang Date: Sat, 18 Sep 2021 02:42:20 +0000 (-0500) Subject: bencode: Simplify `(*Decoder).parseListInterface()` (#656) X-Git-Tag: v1.32.0~43 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=d43769dc15508eb2230b18dcebbb47d9415972f5;p=btrtrc.git bencode: Simplify `(*Decoder).parseListInterface()` (#656) Preserve as much type as possible (it'll be converted to an `interface{}` anyway, but we can return `[]interface{}` instead of `{}interface` here). --- diff --git a/bencode/decode.go b/bencode/decode.go index 08d7861c..9c42578a 100644 --- a/bencode/decode.go +++ b/bencode/decode.go @@ -661,18 +661,12 @@ func (d *Decoder) parseDictInterface() interface{} { return dict } -func (d *Decoder) parseListInterface() interface{} { - var list []interface{} - for { - valuei, ok := d.parseValueInterface() - if !ok { - break - } - +func (d *Decoder) parseListInterface() (list []interface{}) { + list = []interface{}{} + valuei, ok := d.parseValueInterface() + for ok { list = append(list, valuei) + valuei, ok = d.parseValueInterface() } - if list == nil { - list = make([]interface{}, 0) - } - return list + return }