Skip to content

Commit 9deacfb

Browse files
committed
save offset in packetFileReader
1 parent 4f0a750 commit 9deacfb

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

reader.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ type packedFileReader struct {
167167
v volume
168168
h *fileBlockHeader // current file header
169169
dr *decodeReader
170+
offset int64
170171
blocks *fileBlockList
171172
opt *options
172173
}
@@ -175,6 +176,7 @@ func (f *packedFileReader) init(blocks *fileBlockList) error {
175176
h := blocks.firstBlock()
176177
f.h = h
177178
f.blocks = blocks
179+
f.offset = 0
178180
return nil
179181
}
180182

@@ -218,6 +220,7 @@ func (f *packedFileReader) nextBlock() error {
218220
h.packedOff = f.h.packedOff + f.h.PackedSize
219221
h.blocknum = f.h.blocknum + 1
220222
f.h = h
223+
f.offset = h.dataOff
221224
f.blocks.addBlock(h)
222225
return nil
223226
}
@@ -260,6 +263,7 @@ func (f *packedFileReader) Read(p []byte) (int, error) {
260263
err = f.nextBlock()
261264
}
262265
if n > 0 || err != nil {
266+
f.offset += int64(n)
263267
return n, err
264268
}
265269
}
@@ -269,6 +273,7 @@ func (f *packedFileReader) ReadByte() (byte, error) {
269273
for {
270274
b, err := f.v.ReadByte()
271275
if err == nil {
276+
f.offset++
272277
return b, nil
273278
}
274279
if err == io.EOF {

0 commit comments

Comments
 (0)