http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter8.html
Since fsize calls dirwalk on each directory, the two functions
call each other recursively. #define MAX_PATH 1024
/* dirwalk: apply fcn to all files in dir */
void dirwalk(char *dir, void (*fcn)(char *))
{
char name[MAX_PATH];
Dirent *dp;
DIR *dfd;
if ((dfd = opendir(dir)) == NULL) {
fprintf(stderr, "dirwalk: can't open %s\n", dir);
return;
}
while...