mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 20:56:42 +00:00
simplify the loop logic
This commit is contained in:
parent
8bb0ce07d6
commit
088c5c7b1b
1 changed files with 1 additions and 17 deletions
|
|
@ -307,28 +307,12 @@ func (t *Tree) Snapshots(root common.Hash, limits int, nodisk bool) []Snapshot {
|
|||
t.lock.RLock()
|
||||
defer t.lock.RUnlock()
|
||||
|
||||
if limits == 0 {
|
||||
return nil
|
||||
}
|
||||
layer := t.layers[root]
|
||||
if layer == nil {
|
||||
return nil
|
||||
}
|
||||
var ret []Snapshot
|
||||
for {
|
||||
for layer := t.layers[root]; layer != nil && limits != 0; layer, limits = layer.Parent(), limits-1 {
|
||||
if _, isdisk := layer.(*diskLayer); isdisk && nodisk {
|
||||
break
|
||||
}
|
||||
ret = append(ret, layer)
|
||||
limits -= 1
|
||||
if limits == 0 {
|
||||
break
|
||||
}
|
||||
parent := layer.Parent()
|
||||
if parent == nil {
|
||||
break
|
||||
}
|
||||
layer = parent
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue