mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-27 21:21:20 +00:00
avoid infinite recursion by proxying to iterator
``` WARNING: staticcheck, gosimple and unused are all set, using megacheck instead db/go_level_db.go:126:15⚠️ infinite recursive call (SA5007) (megacheck) db/go_level_db.go:135:17⚠️ infinite recursive call (SA5007) (megacheck) db/mem_db.go:106:2⚠️ redundant return statement (S1023) (megacheck) ``` https://circleci.com/gh/tendermint/tmlibs/220 Also remove unnecessary return statement
This commit is contained in:
parent
cd2ad19db4
commit
0b22b27bbb
@ -118,12 +118,12 @@ func (db *GoLevelDB) Stats() map[string]string {
|
||||
}
|
||||
|
||||
type goLevelDBIterator struct {
|
||||
iterator.Iterator
|
||||
source iterator.Iterator
|
||||
}
|
||||
|
||||
// Key returns a copy of the current key.
|
||||
func (it *goLevelDBIterator) Key() []byte {
|
||||
key := it.Key()
|
||||
key := it.source.Key()
|
||||
k := make([]byte, len(key))
|
||||
copy(k, key)
|
||||
|
||||
@ -132,13 +132,25 @@ func (it *goLevelDBIterator) Key() []byte {
|
||||
|
||||
// Value returns a copy of the current value.
|
||||
func (it *goLevelDBIterator) Value() []byte {
|
||||
val := it.Value()
|
||||
val := it.source.Value()
|
||||
v := make([]byte, len(val))
|
||||
copy(v, val)
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
func (it *goLevelDBIterator) Error() error {
|
||||
return it.source.Error()
|
||||
}
|
||||
|
||||
func (it *goLevelDBIterator) Next() bool {
|
||||
return it.source.Next()
|
||||
}
|
||||
|
||||
func (it *goLevelDBIterator) Release() {
|
||||
it.source.Release()
|
||||
}
|
||||
|
||||
func (db *GoLevelDB) Iterator() Iterator {
|
||||
return &goLevelDBIterator{db.db.NewIterator(nil, nil)}
|
||||
}
|
||||
|
@ -103,7 +103,6 @@ func (it *memDBIterator) Value() []byte {
|
||||
func (it *memDBIterator) Release() {
|
||||
it.db = nil
|
||||
it.keys = nil
|
||||
return
|
||||
}
|
||||
|
||||
func (it *memDBIterator) Error() error {
|
||||
|
Loading…
x
Reference in New Issue
Block a user