mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-25 07:56:16 +00:00
fix error panic in func RemoveItemFromArray
This commit is contained in:
parent
3fc36efeb3
commit
21656d1855
2 changed files with 12 additions and 4 deletions
|
|
@ -249,12 +249,20 @@ func RemoveItemFromArray(array []Address, items []Address) []Address {
|
|||
if items == nil {
|
||||
return array
|
||||
}
|
||||
for i, value := range array {
|
||||
i := 0;
|
||||
for i < len(array) {
|
||||
value := array[i]
|
||||
remove := false
|
||||
for _, item := range items {
|
||||
if value == item {
|
||||
array = append(array[:i], array[i+1:]...)
|
||||
remove = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !remove {
|
||||
i++
|
||||
}
|
||||
}
|
||||
return array
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,10 +151,10 @@ func BenchmarkAddressHex(b *testing.B) {
|
|||
}
|
||||
|
||||
func TestRemoveItemInArray(t *testing.T) {
|
||||
array := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000001"), HexToAddress("0x0000002")}
|
||||
remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
|
||||
array := []Address{HexToAddress("0x0000003"),HexToAddress("0x0000001"), HexToAddress("0x0000002"),HexToAddress("0x0000003")}
|
||||
remove := []Address{HexToAddress("0x0000002"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
|
||||
array = RemoveItemFromArray(array, remove)
|
||||
if len(array) != 2 {
|
||||
if len(array) != 1 {
|
||||
t.Error("fail remove item from array address")
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue