This commit is contained in:
yincong 2025-01-17 10:13:44 +08:00
parent 4e338b6d46
commit ebac3e8ec1
No known key found for this signature in database
GPG Key ID: D37F4B83EDFE5B0F
4 changed files with 7 additions and 6 deletions

View File

@ -380,6 +380,9 @@ func (tr *Reader) readHeader() (*Header, *block, error) {
v7 := tr.blk.toV7()
hdr.Typeflag = v7.typeFlag()[0]
hdr.Name = p.parseString(v7.name())
if hdr.FileInfo().IsDir() && !strings.HasSuffix(hdr.Name, "/") {
hdr.Name += "/"
}
hdr.Linkname = p.parseString(v7.linkName())
hdr.Size = p.parseNumeric(v7.size())
hdr.Mode = p.parseNumeric(v7.mode())

View File

@ -424,9 +424,6 @@ func (tw *Writer) AddFS(fsys fs.FS) error {
return err
}
h.Name = name
if d.IsDir() {
h.Name += "/"
}
if err := tw.WriteHeader(h); err != nil {
return err
}

View File

@ -384,6 +384,10 @@ func readDirectoryHeader(f *File, r io.Reader) error {
return err
}
f.Name = string(d[:filenameLen])
if f.FileInfo().IsDir() && !strings.HasSuffix(f.Name, "/") {
f.Name += "/"
}
f.Extra = d[filenameLen : filenameLen+extraLen]
f.Comment = string(d[filenameLen+extraLen:])

View File

@ -520,9 +520,6 @@ func (w *Writer) AddFS(fsys fs.FS) error {
return err
}
h.Name = name
if d.IsDir() {
h.Name += "/"
}
h.Method = Deflate
fw, err := w.CreateHeader(h)
if err != nil {