diff --git a/blefs/all.go b/blefs/all.go index 7ba9809..5978de2 100644 --- a/blefs/all.go +++ b/blefs/all.go @@ -23,7 +23,13 @@ func (blefs *FS) RemoveAll(path string) error { return blefs.removeAllChildren(path) } else { err = blefs.Remove(path) - if err != nil && err.(FSError).Code != -2 { + + var code int8 + if err, ok := err.(FSError); ok { + code = err.Code + } + + if err != nil && code != -2 { return err } } @@ -50,7 +56,13 @@ func (blefs *FS) removeAllChildren(path string) error { } else { err = blefs.Remove(entryPath) } - if err != nil && err.(FSError).Code != -2 { + + var code int8 + if err, ok := err.(FSError); ok { + code = err.Code + } + + if err != nil && code != -2 { return err } } @@ -68,7 +80,13 @@ func (blefs *FS) MkdirAll(path string) error { curPath := strings.Join(splitPath[0:i+1], "/") err := blefs.Mkdir(curPath) - if err != nil && err.(FSError).Code != -17 { + + var code int8 + if err, ok := err.(FSError); ok { + code = err.Code + } + + if err != nil && code != -17 { return err } }