diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-01-12 23:44:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-01-12 23:44:14 +0000 |
commit | 40212ce0c92b25d5b3470d09ad5cb3f625c6a4c2 (patch) | |
tree | 9cf83ba129fe8dd639952db220905cc4b12c7dcc /io | |
parent | 73398a44bb09014adee1e967a275067a046fe054 (diff) | |
download | glibc-40212ce0c92b25d5b3470d09ad5cb3f625c6a4c2.tar.gz glibc-40212ce0c92b25d5b3470d09ad5cb3f625c6a4c2.tar.xz glibc-40212ce0c92b25d5b3470d09ad5cb3f625c6a4c2.zip |
Update.
* io/ftwtest-sh: Add test for case of symlink to nonexisting file given as start file. * io/ftw.c (ftw_startup): Use correct name in check for symlink without existing target. Patch by Jim Meyering.
Diffstat (limited to 'io')
-rw-r--r-- | io/ftw.c | 2 | ||||
-rw-r--r-- | io/ftwtest-sh | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/io/ftw.c b/io/ftw.c index eceb4040d0..26dd77fafa 100644 --- a/io/ftw.c +++ b/io/ftw.c @@ -594,7 +594,7 @@ ftw_startup (const char *dir, int is_nftw, void *func, int descriptors, { if (!(flags & FTW_PHYS) && errno == ENOENT - && LXSTAT (_STAT_VER, dir, &st) == 0 + && LXSTAT (_STAT_VER, name, &st) == 0 && S_ISLNK (st.st_mode)) result = (*data.func) (data.dirbuf, &st, data.cvt_arr[FTW_SLN], &data.ftw); diff --git a/io/ftwtest-sh b/io/ftwtest-sh index 4f3b7865e8..76c1de7f3e 100644 --- a/io/ftwtest-sh +++ b/io/ftwtest-sh @@ -182,6 +182,17 @@ base = "ftwtest.d/./foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, cwd = $ EOF rm $testout +curwd=`/bin/pwd 2>/dev/null || /usr/bin/pwd` +cd "$tmp" +LD_LIBRARY_PATH=$objpfx $ldso $testprogram --chdir ftwtest.d/foo/lvl1/link@1 | + sort > $testout +cd "$curwd" + +cat <<EOF | diff -u $testout - || exit 1 +base = "ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SLN, cwd = $tmpreal/ftwtest.d/foo/lvl1, level = 0 +EOF +rm $testout + LD_LIBRARY_PATH=$objpfx $ldso $testprogram --early-exit $tmpdir | sort > $testout |