/************************************\
 *                                  *
 *   scritto da zero per CloseBSD   *
 *                                  *
 *   ultima modifica: xx/xx/2026    *
 *                                  *
\************************************/

#include <dirent.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
	DIR *dirp;
	struct dirent *dp;
	int nfiles;

	if (argc == 1)
		dirp = opendir(".");
	else dirp = opendir(argv[1]);

	if (dirp == NULL) {
		printf("%s: non-directory o file inesistente\n", argv[1]);
		return 1;
	}

	nfiles = 0;
	while ((dp = readdir(dirp)) != NULL) {
		if ((strcmp(dp->d_name, ".") != 0) && (strcmp(dp->d_name, "..") != 0))
			nfiles++;
	}

	printf("%d\n", nfiles);
	return 0;
}
