Two changes to reduce output diffs on FreeBSD. Both are a bit dubious and should at least be confined on FreeBSD and possiably to FreeBSD < 10. - Don't supress the .. from fts when leaving the root directory. - Print sizes on all objects, not just regular files. Index: create.c =================================================================== --- create.c (revision 240765) +++ create.c (revision 240766) @@ -137,8 +137,12 @@ break; case FTS_DP: if (!nflag && p->fts_level > 0) - printf("%*s# %s\n%*s..\n\n", indent, "", - p->fts_path, indent, ""); + printf("%*s# %s\n", indent, "", p->fts_path); +#ifndef __FreeBSD__ + if (p->fts_level > 0) +#endif + printf("%*s..\n\n", indent, ""); + break; case FTS_DNR: case FTS_ERR: @@ -202,7 +206,11 @@ (long long)p->fts_statp->st_rdev); if (keys & F_NLINK && p->fts_statp->st_nlink != 1) output(indent, &offset, "nlink=%u", p->fts_statp->st_nlink); - if (keys & F_SIZE && S_ISREG(p->fts_statp->st_mode)) + if (keys & F_SIZE +#ifndef __FreeBSD__ + && S_ISREG(p->fts_statp->st_mode) +#endif + ) output(indent, &offset, "size=%lld", (long long)p->fts_statp->st_size); if (keys & F_TIME)