num_files.c - slstatus - status monitor
(HTM) git clone git://git.suckless.org/slstatus
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
num_files.c (534B)
---
1 /* See LICENSE file for copyright and license details. */
2 #include <dirent.h>
3 #include <stdio.h>
4 #include <string.h>
5
6 #include "../slstatus.h"
7 #include "../util.h"
8
9 const char *
10 num_files(const char *path)
11 {
12 struct dirent *dp;
13 DIR *dir;
14 int num;
15
16 if (!(dir = opendir(path))) {
17 warn("opendir '%s':", path);
18 return NULL;
19 }
20
21 num = 0;
22 while ((dp = readdir(dir))) {
23 if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
24 continue; /* skip self and parent */
25
26 num++;
27 }
28
29 closedir(dir);
30
31 return bprintf("%d", num);
32 }