From: nsf Date: Fri, 22 Jun 2012 13:34:26 +0000 (+0600) Subject: Add a couple of decode tests, fix empty slice bug. X-Git-Tag: v1.0.0~1199^2~34 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=27b64a002cf87d56dbaf1e94d4ed96d2a7a4c253;p=btrtrc.git Add a couple of decode tests, fix empty slice bug. --- diff --git a/bencode/decode.go b/bencode/decode.go index 77ddd0d3..903dfe4a 100644 --- a/bencode/decode.go +++ b/bencode/decode.go @@ -484,5 +484,8 @@ func (d *decoder) parse_list_interface() interface{} { list = append(list, valuei) } + if list == nil { + list = make([]interface{}, 0, 0) + } return list } diff --git a/bencode/decode_test.go b/bencode/decode_test.go index 3cf5776f..4f06f391 100644 --- a/bencode/decode_test.go +++ b/bencode/decode_test.go @@ -16,6 +16,8 @@ var random_decode_tests = []random_decode_test{ {"d1:ai5e1:b5:helloe", map[string]interface{}{"a": int64(5), "b": "hello"}}, {"li5ei10ei15ei20e7:bencodee", []interface{}{int64(5), int64(10), int64(15), int64(20), "bencode"}}, + {"ldedee", []interface{}{map[string]interface{}{}, map[string]interface{}{}}}, + {"le", []interface{}{}}, } func TestRandomDecode(t *testing.T) {