From 27b64a002cf87d56dbaf1e94d4ed96d2a7a4c253 Mon Sep 17 00:00:00 2001 From: nsf Date: Fri, 22 Jun 2012 19:34:26 +0600 Subject: [PATCH] Add a couple of decode tests, fix empty slice bug. --- bencode/decode.go | 3 +++ bencode/decode_test.go | 2 ++ 2 files changed, 5 insertions(+) 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) { -- 2.48.1