mirror of https://github.com/spf13/afero.git
RemoveAll finished
This commit is contained in:
parent
eb70104e76
commit
9041843981
|
@ -108,6 +108,7 @@ func (rcfs *RCFS) Remove(name string) error {
|
||||||
|
|
||||||
func (rcfs *RCFS) RemoveAll(path string) error {
|
func (rcfs *RCFS) RemoveAll(path string) error {
|
||||||
path = rcfs.AbsPath(path)
|
path = rcfs.AbsPath(path)
|
||||||
|
|
||||||
afero.Walk(rcfs, path, func(path string, info fs.FileInfo, err error) error {
|
afero.Walk(rcfs, path, func(path string, info fs.FileInfo, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -121,6 +122,30 @@ func (rcfs *RCFS) RemoveAll(path string) error {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
for {
|
||||||
|
if ok, err := afero.IsEmpty(rcfs, path); err == nil {
|
||||||
|
if ok {
|
||||||
|
rcfs.Remove(path)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
afero.Walk(rcfs, path, func(path string, info fs.FileInfo, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if ok, err := afero.IsEmpty(rcfs, path); ok {
|
||||||
|
rcfs.Remove(path)
|
||||||
|
return nil
|
||||||
|
} else {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue