nftw
次のコードを使用して、ディレクトリ ツリー内のすべての .c ファイルを取得しようとしています。
static int gf(const char *path, const struct stat *st, int t, struct FTW *ftw) {
if (t != FTW_F)
return 0;
if (strcmp(ext(path), ".c") == 0)
addl(&files, dup(abspath(path)));
return 0;
}
void getfiles(char *path) {
nftw(path, gf, 255, FTW_PHYS);
}
Linux と Solaris では動作しますが、PC-BSD では単にファイルを取得しないために失敗します。私は何が欠けていますか?