Log Message: If dirfd is either a function or a macro, use it. If it doesn't exist, but DIR contains dd_fd, define it as macro. Otherwise use -1 when calling fts_safe_changedir in fts(3). Based on patch from Sean Boudreau.