From 5cb103952a80692015109260f296779c4ae049a4 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 10 Nov 2014 15:43:22 -0800 Subject: [PATCH] fts: port to C89 Problem reported for MSVC 16 by Gisle Vanem in: http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00027.html * lib/fts.c (fts_build): Avoid declaration before statement. --- ChangeLog | 7 +++++++ lib/fts.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 28dcc5f548..c95ca87b6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2014-11-10 Paul Eggert + + fts: port to C89 + Problem reported for MSVC 16 by Gisle Vanem in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00027.html + * lib/fts.c (fts_build): Avoid declaration before statement. + 2014-11-06 Paul Eggert unistd: port to iOS diff --git a/lib/fts.c b/lib/fts.c index 500e92c6b8..9851c53104 100644 --- a/lib/fts.c +++ b/lib/fts.c @@ -1293,6 +1293,7 @@ fts_build (register FTS *sp, int type) int dir_fd; FTSENT *cur = sp->fts_cur; bool continue_readdir = !!cur->fts_dirp; + size_t max_entries; /* When cur->fts_dirp is non-NULL, that means we should continue calling readdir on that existing DIR* pointer @@ -1354,8 +1355,7 @@ fts_build (register FTS *sp, int type) function. But when no such function is specified, we can read entries in batches that are large enough to help us with inode- sorting, yet not so large that we risk exhausting memory. */ - size_t max_entries = (sp->fts_compar == NULL - ? FTS_MAX_READDIR_ENTRIES : SIZE_MAX); + max_entries = sp->fts_compar ? SIZE_MAX : FTS_MAX_READDIR_ENTRIES; /* * Nlinks is the number of possible entries of type directory in the -- 2.39.5