Xinqi Bao's Git

first status bar updated
[slstatus.git] / components / num_files.c
index acf9dfa..fb55df9 100644 (file)
@@ -1,5 +1,4 @@
 /* See LICENSE file for copyright and license details. */
-#include <errno.h>
 #include <dirent.h>
 #include <stdio.h>
 #include <string.h>
@@ -7,20 +6,22 @@
 #include "../util.h"
 
 const char *
-num_files(const char *dir)
+num_files(const char *path)
 {
        struct dirent *dp;
        DIR *fd;
-       int num = 0;
+       int num;
 
-       if ((fd = opendir(dir)) == NULL) {
-               fprintf(stderr, "opendir '%s': %s\n", dir, strerror(errno));
+       if (!(fd = opendir(path))) {
+               warn("opendir '%s':", path);
                return NULL;
        }
 
-       while ((dp = readdir(fd)) != NULL) {
-               if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
+       num = 0;
+       while ((dp = readdir(fd))) {
+               if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, "..")) {
                        continue; /* skip self and parent */
+               }
                num++;
        }