trie: cleaner logic, one less func call

This commit is contained in:
Péter Szilágyi 2018-05-24 13:46:45 +03:00
parent fbf57d53e2
commit d31802312a
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D

View File

@ -196,12 +196,12 @@ func (h *hasher) store(n node, db *Database, force bool) (node, error) {
if h.onleaf != nil { if h.onleaf != nil {
switch n := n.(type) { switch n := n.(type) {
case *shortNode: case *shortNode:
if child, ok := n.Val.(valueNode); ok { if child, ok := n.Val.(valueNode); ok && child != nil {
h.onleaf(child, hash) h.onleaf(child, hash)
} }
case *fullNode: case *fullNode:
for i := 0; i < 16; i++ { for i := 0; i < 16; i++ {
if child, ok := n.Children[i].(valueNode); ok { if child, ok := n.Children[i].(valueNode); ok && child != nil {
h.onleaf(child, hash) h.onleaf(child, hash)
} }
} }