diff --git a/internal/fs/fileinfo.go b/internal/fs/fileinfo.go index 6545a77..29b6149 100644 --- a/internal/fs/fileinfo.go +++ b/internal/fs/fileinfo.go @@ -1,8 +1,10 @@ package fs import ( + "archive/tar" "log" "os" + "path/filepath" "time" ) @@ -16,19 +18,13 @@ type FileInfo struct { isDir bool } -func NewFileInfo( - name string, - size int64, - mode int64, - modTime time.Time, - isDir bool, -) *FileInfo { +func NewFileInfo(hdr *tar.Header) *FileInfo { return &FileInfo{ - name: name, - size: size, - mode: mode, - modTime: modTime, - isDir: isDir, + name: filepath.Base(hdr.Name), + size: hdr.Size, + mode: hdr.Mode, + modTime: hdr.ModTime, + isDir: hdr.Typeflag == tar.TypeDir, } } diff --git a/internal/fs/fs.go b/internal/fs/filesystem.go similarity index 94% rename from internal/fs/fs.go rename to internal/fs/filesystem.go index 84e9915..378c68a 100644 --- a/internal/fs/fs.go +++ b/internal/fs/filesystem.go @@ -1,7 +1,6 @@ package fs import ( - "archive/tar" "database/sql" "errors" "log" @@ -83,18 +82,12 @@ func (s *FileSystem) Open(name string) (afero.File, error) { return nil, os.ErrNotExist } - return nil, err + panic(err) } return NewFile( - filepath.Base(name), - NewFileInfo( - filepath.Base(name), - hdr.Size, - hdr.Mode, - hdr.ModTime, - hdr.Typeflag == tar.TypeDir, - ), + filepath.Base(hdr.Name), + NewFileInfo(hdr), ), nil }