/* See LICENSE file for copyright and license details. */ #include #include #include #include #include "../util.h" const char * num_files(const char *dir) { struct dirent *dp; DIR *fd; int num = 0; if ((fd = opendir(dir)) == NULL) { fprintf(stderr, "opendir '%s': %s\n", dir, strerror(errno)); return NULL; } while ((dp = readdir(fd)) != NULL) { if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, "..")) continue; /* skip self and parent */ num++; } closedir(fd); return bprintf("%d", num); }