Fixed some bugs

THINGS ARE BROKEN FOR NO REASON
This commit is contained in:
Caleb Gardner
2022-05-10 01:40:32 -05:00
parent 16ef5838c3
commit 8613e35221
5 changed files with 8 additions and 3 deletions
+2 -2
View File
@@ -42,14 +42,14 @@ func readEntry(r io.Reader) (e entry, err error) {
}
func ReadEntries(rdr io.Reader, size uint32) (e []Entry, err error) {
dat := make([]byte, size)
dat := make([]byte, size-3)
rdr.Read(dat)
r := bytes.NewReader(dat)
var h header
var en entry
for {
err = binary.Read(r, binary.LittleEndian, &h)
if err == io.ErrUnexpectedEOF {
if err == io.EOF {
err = nil
return
} else if err != nil {
+1
View File
@@ -252,6 +252,7 @@ func (f File) ExtractWithOptions(folder string, op ExtractionOptions) error {
fil.Close()
return
}
fil.parent, _ = f.FS()
errChan <- fil.ExtractWithOptions(folder+"/"+f.e.Name, op)
fil.Close()
}(ents[i])
View File
+2
View File
@@ -64,6 +64,7 @@ func (f FS) Open(name string) (fs.File, error) {
Err: err,
}
}
newFS.parent = &f
out, err := newFS.Open(strings.Join(split[1:], "/"))
if err != nil {
err.(*fs.PathError).Path = name
@@ -78,6 +79,7 @@ func (f FS) Open(name string) (fs.File, error) {
Err: err,
}
}
out.parent = &f
return out, err
}
return nil, &fs.PathError{
+3 -1
View File
@@ -97,7 +97,9 @@ func TestAppImage(t *testing.T) {
t.Fatal(err)
}
os.RemoveAll(wd + "/testing/firefox")
err = rdr.ExtractTo(wd + "/testing/firefox")
op := DefaultOptions()
op.Verbose = true
err = rdr.ExtractWithOptions(wd+"/testing/firefox", op)
t.Fatal(err)
}