From a4647e9205c8c6b166e6553fd3bc49cb8e24356f Mon Sep 17 00:00:00 2001 From: itchyny Date: Thu, 9 Jan 2020 12:07:26 +0900 Subject: [PATCH] return the stat error on failure --- mmv.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mmv.go b/mmv.go index 28140ff..d5fc829 100644 --- a/mmv.go +++ b/mmv.go @@ -27,14 +27,15 @@ func doRename(src, dst string) (err error) { if err = os.Rename(src, dst); err != nil && os.IsNotExist(err) { // check the source file existence to exit without creating the destination // directory when the both source file and destination directory do not exist - if _, err := os.Stat(src); err == nil { - // create the destination directory - if err := os.MkdirAll(filepath.Dir(dst), 0755); err != nil { - return err - } - // try renaming again - return os.Rename(src, dst) + if _, err := os.Stat(src); err != nil { + return err } + // create the destination directory + if err := os.MkdirAll(filepath.Dir(dst), 0755); err != nil { + return err + } + // try renaming again + return os.Rename(src, dst) } return }