This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED PATCH] Tiny refactoring in fts to eliminate a warning.
- From: Roland McGrath <roland at hack dot frob dot com>
- To: "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Mon, 20 Oct 2014 15:35:33 -0700 (PDT)
- Subject: [COMMITTED PATCH] Tiny refactoring in fts to eliminate a warning.
- Authentication-results: sourceware.org; auth=none
There was a "set but not used" warning for NOSTAT in configurations without
_DIRENT_HAVE_D_TYPE. This fixes it. It does not change generated code.
Thanks,
Roland
* io/fts.c (dirent_not_directory): New function.
(fts_build): Call it.
2014-10-20 Roland McGrath <roland@hack.frob.com>
--- a/io/fts.c
+++ b/io/fts.c
@@ -561,6 +561,16 @@ fts_children(sp, instr)
return (sp->fts_child);
}
+static inline int
+dirent_not_directory(const struct dirent *dp)
+{
+#if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE
+ return dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN;
+#else
+ return 0;
+#endif
+}
+
/*
* This is the tricky part -- do not casually change *anything* in here. The
* idea is to build the linked list of entries that are used by fts_children
@@ -759,11 +769,7 @@ mem1: saved_errno = errno;
p->fts_info = FTS_NSOK;
p->fts_accpath = cur->fts_accpath;
} else if (nlinks == 0
-#if defined DT_DIR && defined _DIRENT_HAVE_D_TYPE
- || (nostat &&
- dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN)
-#endif
- ) {
+ || (nostat && dirent_not_directory(dp))) {
p->fts_accpath =
ISSET(FTS_NOCHDIR) ? p->fts_path : p->fts_name;
p->fts_info = FTS_NSOK;