1#include <ftw.h> 2 3int ftw(const char* path, int (*fn)(const char*, const struct stat*, int), int fd_limit) { 4 /* The following cast assumes that calling a function with one 5 * argument more than it needs behaves as expected. This is 6 * actually undefined, but works on all real-world machines. */ 7 return nftw(path, (int (*)(const char*, const struct stat*, int, struct FTW*))fn, fd_limit, FTW_PHYS); 8} 9