remove error handling

This commit is contained in:
ston1th 2022-04-06 01:25:37 +02:00
commit 616aca97f9
2 changed files with 10 additions and 39 deletions

View file

@ -155,11 +155,7 @@ func (f *file) Readdir(n int) ([]fs.FileInfo, error) {
} }
fio := make([]fs.FileInfo, len(fis)) fio := make([]fs.FileInfo, len(fis))
for i, fi := range fis { for i, fi := range fis {
p, err := f.fs.decPath(fi.Name()) fio[i] = dir{FileInfo: fi, name: f.fs.decPath(fi.Name())}
if err != nil {
continue
}
fio[i] = dir{FileInfo: fi, name: p}
} }
return fio, nil return fio, nil
} }

View file

@ -7,7 +7,6 @@ import (
"io/fs" "io/fs"
"os" "os"
"path/filepath" "path/filepath"
"runtime"
"strings" "strings"
) )
@ -34,7 +33,7 @@ func NewFS(fs provider.FS, key []byte) (*FS, error) {
}, nil }, nil
} }
func (fs *FS) encPath(path string) (n string, err error) { func (fs *FS) encPath(path string) string {
parts := strings.Split(path, "/") parts := strings.Split(path, "/")
cparts := make([]string, len(parts)) cparts := make([]string, len(parts))
for i, p := range parts { for i, p := range parts {
@ -45,11 +44,10 @@ func (fs *FS) encPath(path string) (n string, err error) {
fs.cbc.encrypt([]byte(p)), fs.cbc.encrypt([]byte(p)),
) )
} }
n = filepath.Join(cparts...) return filepath.Join(cparts...)
return
} }
func (fs *FS) decPath(path string) (n string, err error) { func (fs *FS) decPath(path string) string {
parts := strings.Split(path, "/") parts := strings.Split(path, "/")
pparts := make([]string, len(parts)) pparts := make([]string, len(parts))
for i, p := range parts { for i, p := range parts {
@ -57,8 +55,7 @@ func (fs *FS) decPath(path string) (n string, err error) {
fs.cbc.decrypt([]byte(p)), fs.cbc.decrypt([]byte(p)),
) )
} }
n = filepath.Join(pparts...) return filepath.Join(pparts...)
return
} }
func (fs *FS) name(p string) string { func (fs *FS) name(p string) string {
@ -66,28 +63,16 @@ func (fs *FS) name(p string) string {
} }
func (fs *FS) Stat(p string) (fs.FileInfo, error) { func (fs *FS) Stat(p string) (fs.FileInfo, error) {
c, err := fs.encPath(p) fi, err := fs.fs.Stat(fs.encPath(p))
if err != nil {
return nil, err
}
fi, err := fs.fs.Stat(c)
return stat{FileInfo: fi, name: fs.name(p)}, err return stat{FileInfo: fi, name: fs.name(p)}, err
} }
func (fs *FS) Remove(p string) error { func (fs *FS) Remove(p string) error {
c, err := fs.encPath(p) return fs.fs.Remove(fs.encPath(p))
if err != nil {
return err
}
return fs.fs.Remove(c)
} }
func (fs *FS) Open(p string) (provider.File, error) { func (fs *FS) Open(p string) (provider.File, error) {
c, err := fs.encPath(p) f, err := fs.fs.Open(fs.encPath(p))
if err != nil {
return nil, err
}
f, err := fs.fs.Open(c)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -95,11 +80,7 @@ func (fs *FS) Open(p string) (provider.File, error) {
} }
func (fs *FS) OpenFile(p string, flags int, mode os.FileMode) (provider.File, error) { func (fs *FS) OpenFile(p string, flags int, mode os.FileMode) (provider.File, error) {
c, err := fs.encPath(p) f, err := fs.fs.OpenFile(fs.encPath(p), flags, mode)
if err != nil {
return nil, err
}
f, err := fs.fs.OpenFile(c, flags, mode)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -107,11 +88,7 @@ func (fs *FS) OpenFile(p string, flags int, mode os.FileMode) (provider.File, er
} }
func (fs *FS) MkdirAll(p string, mode os.FileMode) error { func (fs *FS) MkdirAll(p string, mode os.FileMode) error {
c, err := fs.encPath(p) return fs.fs.MkdirAll(fs.encPath(p), mode)
if err != nil {
return err
}
return fs.fs.MkdirAll(c, mode)
} }
func (fs *FS) Root() string { func (fs *FS) Root() string {
@ -123,7 +100,5 @@ func (fs *FS) Fstat(_ uintptr) (int64, error) {
} }
func (fs *FS) Close() error { func (fs *FS) Close() error {
fs.key = nil
runtime.GC()
return nil return nil
} }