tar dir add slash

This commit is contained in:
yincong 2025-01-16 10:42:47 +08:00
parent d68d049b13
commit 4e338b6d46
No known key found for this signature in database
GPG Key ID: D37F4B83EDFE5B0F
3 changed files with 11 additions and 2 deletions

View File

@ -424,6 +424,9 @@ 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

@ -1382,7 +1382,11 @@ func TestWriterAddFS(t *testing.T) {
t.Fatal(err)
}
if hdr.Name != name {
tmpName := name
if entryInfo.IsDir() {
tmpName += "/"
}
if hdr.Name != tmpName {
t.Errorf("test fs has filename %v; archive header has %v",
name, hdr.Name)
}

View File

@ -520,13 +520,15 @@ 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 {
return err
}
if d.IsDir() {
h.Name += "/"
return nil
}
f, err := fsys.Open(name)