Skip to content

Commit ca55123

Browse files
committed
fix some bug
1 parent 78fd608 commit ca55123

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

ole.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ func (o *Ole) ListDir() (dir []*File, err error) {
4545
} else {
4646
break
4747
}
48-
48+
}
49+
if err == io.EOF && dir != nil {
50+
return dir, nil
4951
}
5052

5153
return

stream_reader.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ func (r *StreamReader) Read(p []byte) (n int, err error) {
3232
}
3333
pos := r.ole.sector_pos(r.offset_of_sector, r.size_sector) + r.offset_in_sector
3434
p[i] = r.ole.bts[pos]
35-
if DEBUG {
36-
log.Printf("pos:%x,bit:%x", pos, p[i])
37-
}
3835
r.offset_in_sector++
3936
r.offset++
4037
if r.offset == int64(r.size) {
4138
return i + 1, io.EOF
4239
}
4340
}
41+
if DEBUG {
42+
log.Printf("pos:%x,bit:% X", r.offset_of_sector, p)
43+
}
4444
return len(p), nil
4545
}
4646

stream_reader_test.go

+28
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,31 @@ func TestSeek(t *testing.T) {
4545
fmt.Println(r.Seek(2, 1))
4646
fmt.Println(r.Seek(2, 1))
4747
}
48+
49+
func TestSeek(t *testing.T) {
50+
bts := make([]byte, 1<<10)
51+
for i := 0; i < 1<<10; i++ {
52+
bts[i] = byte(i)
53+
}
54+
ole := &Ole{nil, 8, 1, []uint32{2, 1, ENDOFCHAIN}, []uint32{}, []File{}, bts}
55+
r := ole.stream_read(0, 30)
56+
fmt.Println(r.Seek(2, 1))
57+
fmt.Println(r.Seek(2, 1))
58+
fmt.Println(r.Seek(2, 1))
59+
fmt.Println(r.Seek(2, 1))
60+
fmt.Println(r.Seek(2, 1))
61+
fmt.Println(r.Seek(2, 1))
62+
fmt.Println(r.Seek(2, 1))
63+
fmt.Println(r.Seek(2, 1))
64+
fmt.Println(r.Seek(2, 1))
65+
fmt.Println(r.Seek(2, 1))
66+
fmt.Println(r.Seek(2, 1))
67+
fmt.Println(r.Seek(2, 1))
68+
fmt.Println(r.Seek(2, 1))
69+
fmt.Println(r.Seek(2, 1))
70+
fmt.Println(r.Seek(2, 1))
71+
fmt.Println(r.Seek(2, 1))
72+
fmt.Println(r.Seek(2, 1))
73+
fmt.Println(r.Seek(2, 1))
74+
fmt.Println(r.Seek(2, 1))
75+
}

0 commit comments

Comments
 (0)