Skip to content

Commit 3deaa98

Browse files
committed
refactor: remove -1 from stubIterator literal
1 parent 600f97e commit 3deaa98

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

core/rawdb/database.libevm_test.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ func ExampleDatabaseStat() {
4848
func ExampleInspectDatabase() {
4949
db := &stubDatabase{
5050
iterator: &stubIterator{
51-
i: -1,
5251
kvs: []keyValue{
5352
// Bloom bits total = 5 + 1 = 6
5453
{key: []byte("iBxxx"), value: []byte("m")},
@@ -162,7 +161,7 @@ func (s *stubDatabase) ReadAncients(fn func(ethdb.AncientReaderOp) error) (err e
162161

163162
type stubIterator struct {
164163
ethdb.Iterator
165-
i int
164+
i int // see pos()
166165
kvs []keyValue
167166
}
168167

@@ -171,18 +170,24 @@ type keyValue struct {
171170
value []byte
172171
}
173172

173+
// pos returns the true iterator position, which is otherwise off by one because
174+
// Next() is called _before_ usage.
175+
func (s *stubIterator) pos() int {
176+
return s.i - 1
177+
}
178+
174179
func (s *stubIterator) Next() bool {
175180
s.i++
176-
available := s.i < len(s.kvs)
181+
available := s.pos() < len(s.kvs)
177182
return available
178183
}
179184

180185
func (s *stubIterator) Release() {}
181186

182187
func (s *stubIterator) Key() []byte {
183-
return s.kvs[s.i].key
188+
return s.kvs[s.pos()].key
184189
}
185190

186191
func (s *stubIterator) Value() []byte {
187-
return s.kvs[s.i].value
192+
return s.kvs[s.pos()].value
188193
}

0 commit comments

Comments
 (0)