Xinqi Bao's Git

Add ram and swap components on FreeBSD
[slstatus.git] / components / num_files.c
index c471400..fb55df9 100644 (file)
@@ -6,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, "Failed to get number of files in directory %s", dir);
+       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++;
        }