Mercurial > hg > octave-jordi > gnulib-hg
changeset 6034:96149b1bbb32
(fts_cross_check) [FTS_DEBUG]: s/active_dir_ht/fts_cycle.ht/.
This lets us compile with -DFTS_DEBUG, once again.
[! _LIBC]: Include "lstat.h" rather than rolling our own.
(fd_safer): Remove decl.
Include fcntl--.h rather than unistd-safer.h
(fts_safe_changedir): Don't call fd_safer; no longer needed
now that we include fcntl--.h.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sun, 14 Aug 2005 14:45:16 +0000 |
parents | 0060ce402526 |
children | a166800910b5 |
files | lib/fts.c |
diffstat | 1 files changed, 9 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/fts.c +++ b/lib/fts.c @@ -71,6 +71,10 @@ #include <string.h> #include <unistd.h> +#if ! _LIBC +# include "lstat.h" +#endif + #if defined _LIBC # include <dirent.h> # define NAMLEN(dirent) _D_EXACT_NAMLEN (dirent) @@ -111,15 +115,6 @@ # define internal_function /* empty */ #endif -/* Arrange to make lstat calls go through the wrapper function - on systems with an lstat function that does not dereference symlinks - that are specified with a trailing slash. */ -#if ! _LIBC && ! LSTAT_FOLLOWS_SLASHED_SYMLINK -int rpl_lstat (const char *, struct stat *); -# undef lstat -# define lstat(Name, Stat_buf) rpl_lstat(Name, Stat_buf) -#endif - #ifndef __set_errno # define __set_errno(Val) errno = (Val) #endif @@ -152,10 +147,9 @@ static void leave_dir (FTS *fts, FTSENT *ent) {} static bool setup_dir (FTS *fts) { return true; } static void free_dir (FTS *fts) {} -static int fd_safer (int fd) { return fd; } #else +# include "fcntl--.h" # include "fts-cycle.c" -# include "unistd-safer.h" #endif #ifndef MAX @@ -1029,7 +1023,7 @@ struct Active_dir ad; ad.ino = t->fts_statp->st_ino; ad.dev = t->fts_statp->st_dev; - if ( ! hash_lookup (sp->active_dir_ht, &ad)) + if ( ! hash_lookup (sp->fts_cycle.ht, &ad)) printf ("ERROR: active dir, %s, not in tree\n", t->fts_path); } @@ -1040,8 +1034,8 @@ || ent->fts_info == FTS_D)) { struct Active_dir *ad; - for (ad = hash_get_first (sp->active_dir_ht); ad != NULL; - ad = hash_get_next (sp->active_dir_ht, ad)) + for (ad = hash_get_first (sp->fts_cycle.ht); ad != NULL; + ad = hash_get_next (sp->fts_cycle.ht, ad)) { find_matching_ancestor (ent, ad); } @@ -1319,7 +1313,7 @@ newfd = fd; if (ISSET(FTS_NOCHDIR)) return (0); - if (fd < 0 && (newfd = fd_safer (diropen (dir))) < 0) + if (fd < 0 && (newfd = diropen (dir)) < 0) return (-1); if (fstat(newfd, &sb)) { ret = -1;