* libc/fts.c (fts_build): Use DT_DIR case on Cygwin.

(fts_ufslinks): Fix using wrong structure member in Cygwin-specific
	code.
This commit is contained in:
Corinna Vinschen 2009-01-08 21:12:46 +00:00
parent 313f76f322
commit aa9f366548
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2009-01-08 Corinna Vinschen <corinna@vinschen.de>
* libc/fts.c (fts_build): Use DT_DIR case on Cygwin.
(fts_ufslinks): Fix using wrong structure member in Cygwin-specific
code.
2009-01-07 Corinna Vinschen <corinna@vinschen.de> 2009-01-07 Corinna Vinschen <corinna@vinschen.de>
* ntdll.h: Reorder NT status flags. Fix a case difference. Add * ntdll.h: Reorder NT status flags. Fix a case difference. Add

View File

@ -823,7 +823,7 @@ mem1: saved_errno = errno;
p->fts_info = FTS_NSOK; p->fts_info = FTS_NSOK;
p->fts_accpath = cur->fts_accpath; p->fts_accpath = cur->fts_accpath;
} else if (nlinks == 0 } else if (nlinks == 0
#if defined(DT_DIR) && !defined(__CYGWIN__) #if defined(DT_DIR)
|| (nostat && || (nostat &&
dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN) dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN)
#endif #endif
@ -1232,9 +1232,10 @@ fts_ufslinks(FTS *sp, const FTSENT *ent)
#ifdef __CYGWIN__ #ifdef __CYGWIN__
/* The link count is reliable in Cygwin's directory /* The link count is reliable in Cygwin's directory
stat structures, unless the link count is 1. stat structures, unless the link count is 1.
This indicates a remote filesystem on which Cygwin This indicates a filesystem on which Cygwin
refuses to count the directory links for speed. */ refuses to count the directory links for speed. */
priv->ftsp_linksreliable = (ent->fts_dev == 1) ? 0 : 1; priv->ftsp_linksreliable = (ent->fts_nlink == 1)
? 0 : 1;
#else #else
priv->ftsp_linksreliable = 0; priv->ftsp_linksreliable = 0;
for (cpp = ufslike_filesystems; *cpp; cpp++) { for (cpp = ufslike_filesystems; *cpp; cpp++) {