aboutsummaryrefslogtreecommitdiff
path: root/reader.go
diff options
context:
space:
mode:
Diffstat (limited to 'reader.go')
-rw-r--r--reader.go20
1 files changed, 10 insertions, 10 deletions
diff --git a/reader.go b/reader.go
index 5ee2d3d..6ef8885 100644
--- a/reader.go
+++ b/reader.go
@@ -56,7 +56,7 @@ type File struct {
FileHeader
zip *Reader
zipr io.ReaderAt
- headerOffset int64 // includes overall ZIP archive baseOffset
+ HeaderOffset int64 // includes overall ZIP archive baseOffset
zip64 bool // zip64 extended information extra field presence
}
@@ -143,7 +143,7 @@ func (z *Reader) init(r io.ReaderAt, size int64) error {
if err != nil {
return err
}
- f.headerOffset += z.baseOffset
+ f.HeaderOffset += z.baseOffset
z.File = append(z.File, f)
}
if uint16(len(z.File)) != uint16(end.DirectoryRecords) { // only compare 16 bits here
@@ -187,7 +187,7 @@ func (f *File) DataOffset() (offset int64, err error) {
if err != nil {
return
}
- return f.headerOffset + bodyOffset, nil
+ return f.HeaderOffset + bodyOffset, nil
}
// Open returns a ReadCloser that provides access to the File's contents.
@@ -198,7 +198,7 @@ func (f *File) Open() (io.ReadCloser, error) {
return nil, err
}
size := int64(f.CompressedSize64)
- r := io.NewSectionReader(f.zipr, f.headerOffset+bodyOffset, size)
+ r := io.NewSectionReader(f.zipr, f.HeaderOffset+bodyOffset, size)
dcomp := f.zip.decompressor(f.Method)
if dcomp == nil {
return nil, ErrAlgorithm
@@ -206,7 +206,7 @@ func (f *File) Open() (io.ReadCloser, error) {
var rc io.ReadCloser = dcomp(r)
var desr io.Reader
if f.hasDataDescriptor() {
- desr = io.NewSectionReader(f.zipr, f.headerOffset+bodyOffset+size, dataDescriptorLen)
+ desr = io.NewSectionReader(f.zipr, f.HeaderOffset+bodyOffset+size, dataDescriptorLen)
}
rc = &checksumReader{
rc: rc,
@@ -224,7 +224,7 @@ func (f *File) OpenRaw() (io.Reader, error) {
if err != nil {
return nil, err
}
- r := io.NewSectionReader(f.zipr, f.headerOffset+bodyOffset, int64(f.CompressedSize64))
+ r := io.NewSectionReader(f.zipr, f.HeaderOffset+bodyOffset, int64(f.CompressedSize64))
return r, nil
}
@@ -287,7 +287,7 @@ func (r *checksumReader) Close() error { return r.rc.Close() }
// and returns the file body offset.
func (f *File) findBodyOffset() (int64, error) {
var buf [fileHeaderLen]byte
- if _, err := f.zipr.ReadAt(buf[:], f.headerOffset); err != nil {
+ if _, err := f.zipr.ReadAt(buf[:], f.HeaderOffset); err != nil {
return 0, err
}
b := readBuf(buf[:])
@@ -325,7 +325,7 @@ func readDirectoryHeader(f *File, r io.Reader) error {
commentLen := int(b.uint16())
b = b[4:] // skipped start disk number and internal attributes (2x uint16)
f.ExternalAttrs = b.uint32()
- f.headerOffset = int64(b.uint32())
+ f.HeaderOffset = int64(b.uint32())
d := make([]byte, filenameLen+extraLen+commentLen)
if _, err := io.ReadFull(r, d); err != nil {
return err
@@ -354,7 +354,7 @@ func readDirectoryHeader(f *File, r io.Reader) error {
needUSize := f.UncompressedSize == ^uint32(0)
needCSize := f.CompressedSize == ^uint32(0)
- needHeaderOffset := f.headerOffset == int64(^uint32(0))
+ needHeaderOffset := f.HeaderOffset == int64(^uint32(0))
// Best effort to find what we need.
// Other zip authors might not even follow the basic format,
@@ -396,7 +396,7 @@ parseExtras:
if len(fieldBuf) < 8 {
return ErrFormat
}
- f.headerOffset = int64(fieldBuf.uint64())
+ f.HeaderOffset = int64(fieldBuf.uint64())
}
case ntfsExtraID:
if len(fieldBuf) < 4 {