cmd: Ignore hidden files in isEmpty

This commit is contained in:
Albert Nigmatzianov 2017-07-18 18:22:37 +02:00
parent d994347eda
commit 715f41bd7a
1 changed files with 22 additions and 12 deletions

View File

@ -45,24 +45,34 @@ func er(msg interface{}) {
}
// isEmpty checks if a given path is empty.
// Hidden files in path are ignored.
func isEmpty(path string) bool {
fi, err := os.Stat(path)
if err != nil {
er(err)
}
if fi.IsDir() {
f, err := os.Open(path)
if err != nil {
er(err)
}
defer f.Close()
dirs, err := f.Readdirnames(1)
if err != nil && err != io.EOF {
er(err)
}
return len(dirs) == 0
if !fi.IsDir() {
return fi.Size() == 0
}
return fi.Size() == 0
f, err := os.Open(path)
if err != nil {
er(err)
}
defer f.Close()
names, err := f.Readdirnames(-1)
if err != nil && err != io.EOF {
er(err)
}
for _, name := range names {
if len(name) > 0 && name[0] != '.' {
return false
}
}
return true
}
// exists checks if a file or directory exists.