fix error panic in func RemoveItemFromArray

This commit is contained in:
AnilChinchawale 2018-11-09 10:59:55 +05:30
parent 3fc36efeb3
commit 21656d1855
2 changed files with 12 additions and 4 deletions

View file

@ -249,12 +249,20 @@ func RemoveItemFromArray(array []Address, items []Address) []Address {
if items == nil { if items == nil {
return array return array
} }
for i, value := range array { i := 0;
for i < len(array) {
value := array[i]
remove := false
for _, item := range items { for _, item := range items {
if value == item { if value == item {
array = append(array[:i], array[i+1:]...) array = append(array[:i], array[i+1:]...)
remove = true
break
} }
} }
if !remove {
i++
}
} }
return array return array
} }

View file

@ -151,10 +151,10 @@ func BenchmarkAddressHex(b *testing.B) {
} }
func TestRemoveItemInArray(t *testing.T) { func TestRemoveItemInArray(t *testing.T) {
array := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000001"), HexToAddress("0x0000002")} array := []Address{HexToAddress("0x0000003"),HexToAddress("0x0000001"), HexToAddress("0x0000002"),HexToAddress("0x0000003")}
remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")} remove := []Address{HexToAddress("0x0000002"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
array = RemoveItemFromArray(array, remove) array = RemoveItemFromArray(array, remove)
if len(array) != 2 { if len(array) != 1 {
t.Error("fail remove item from array address") t.Error("fail remove item from array address")
} }
} }