diff --git a/cmd/rmdirs/rmdirs.go b/cmd/rmdirs/rmdirs.go index 7131e46d0..7551d1fe1 100644 --- a/cmd/rmdirs/rmdirs.go +++ b/cmd/rmdirs/rmdirs.go @@ -25,7 +25,7 @@ empty directories in. cmd.CheckArgs(1, 1, command, args) fdst := cmd.NewFsDst(args) cmd.Run(true, false, command, func() error { - return fs.Rmdirs(fdst) + return fs.Rmdirs(fdst, "") }) }, } diff --git a/fs/operations.go b/fs/operations.go index 4b0de106e..1bcee69e9 100644 --- a/fs/operations.go +++ b/fs/operations.go @@ -877,8 +877,6 @@ func Rmdir(f Fs, dir string) error { } // Purge removes a container and all of its contents -// -// FIXME doesn't delete local directories func Purge(f Fs) error { doFallbackPurge := true var err error @@ -900,7 +898,7 @@ func Purge(f Fs) error { if err != nil { return err } - err = Rmdir(f, "") + err = Rmdirs(f, "") } if err != nil { Stats.Error() @@ -1207,8 +1205,8 @@ func Cat(f Fs, w io.Writer) error { // Rmdirs removes any empty directories (or directories only // containing empty directories) under f, including f. -func Rmdirs(f Fs) error { - list := NewLister().Start(f, "") +func Rmdirs(f Fs, dir string) error { + list := NewLister().Start(f, dir) dirEmpty := make(map[string]bool) dirEmpty[""] = true for { diff --git a/fs/operations_test.go b/fs/operations_test.go index 808d5f21f..83e34824a 100644 --- a/fs/operations_test.go +++ b/fs/operations_test.go @@ -672,7 +672,7 @@ func TestRmdirs(t *testing.T) { // Clean any directories that have crept in so far // FIXME make the Finalise method do this? - require.NoError(t, fs.Rmdirs(r.fremote)) + require.NoError(t, fs.Rmdirs(r.fremote, "")) // Make some files and dirs we expect to keep r.ForceMkdir(r.fremote) @@ -708,7 +708,7 @@ func TestRmdirs(t *testing.T) { fs.Config.ModifyWindow, ) - require.NoError(t, fs.Rmdirs(r.fremote)) + require.NoError(t, fs.Rmdirs(r.fremote, "")) fstest.CheckListingWithPrecision( t,