-006-03-02 Jakub Jelinek <jakub@redhat.com>
+2006-03-02 Jakub Jelinek <jakub@redhat.com>
+
+ * io/ftw.c (process_entry): If dir->streamfd != -1,
+ use FXSTATAT rather than LXSTAT to find if unstatable
+ file is a dead symlink.
* elf/check-textrel.c: Include config.h.
(AB(handle_file)): Don't fail if PF_X | PF_W on architectures known
{
if (errno != EACCES && errno != ENOENT)
result = -1;
- else if (!(data->flags & FTW_PHYS)
- && (d_type == DT_LNK
- || (LXSTAT (_STAT_VER, name, &st) == 0
- && S_ISLNK (st.st_mode))))
+ else if (data->flags & FTW_PHYS)
+ flag = FTW_NS;
+ else if (d_type == DT_LNK)
flag = FTW_SLN;
else
- flag = FTW_NS;
+ {
+ if (dir->streamfd != -1)
+ statres = FXSTATAT (_STAT_VER, dir->streamfd, name, &st,
+ AT_SYMLINK_NOFOLLOW);
+ else
+ statres = LXSTAT (_STAT_VER, name, &st);
+ if (statres == 0 && S_ISLNK (st.st_mode))
+ flag = FTW_SLN;
+ else
+ flag = FTW_NS;
+ }
}
else
{