diff --git a/dir.c b/dir.c index b27c2fb..9e078cd 100644 --- a/dir.c +++ b/dir.c @@ -28,20 +28,22 @@ unsigned long get_dir_size(char *path){ DIR *dir = opendir(path); unsigned long entry_count = 0; struct dirent *entry; - if (dir && file_modifiers & FILE_MODIFIERS_HIDDEN_FILES) { - while ((entry=readdir(dir))) { - entry_count++; - } - /* removes files "." and ".." */ - entry_count -= 2; - } else if (dir) { - while ((entry=readdir(dir))) { - if (entry->d_name[0] != '.') { + if (dir) { + if (file_modifiers & FILE_MODIFIERS_HIDDEN_FILES) { + while ((entry=readdir(dir))) { entry_count++; - } + } + /* removes files "." and ".." */ + entry_count -= 2; + } else { + while ((entry=readdir(dir))) { + if (entry->d_name[0] != '.') { + entry_count++; + } + } } + closedir(dir); } - closedir(dir); return entry_count; }