diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-09-21 01:47:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-09-21 01:47:02 +0000 |
commit | 2604afb1b2d9acc3c70b1214285f996200bf0358 (patch) | |
tree | ba59d75147565b8ab19686d98cee368d8ec697fc /io | |
parent | 4547c1a410fbc3ab5592a68bac1661135d91983f (diff) | |
download | glibc-2604afb1b2d9acc3c70b1214285f996200bf0358.tar.gz glibc-2604afb1b2d9acc3c70b1214285f996200bf0358.tar.xz glibc-2604afb1b2d9acc3c70b1214285f996200bf0358.zip |
Update. cvs/libc-ud-970920
1997-09-21 03:19 Ulrich Drepper <drepper@cygnus.com> * libio/libio.h: More libstdc++ cleanups. Define _IO_USE_DTOA if _G_HAVE_PRINTF_FP is not defined. * libio/strops.c: Undo patch of 1997-07-08 02:18. Must find a different solution for the problem. * misc/search.h [__USE_GNU]: Define comparison_fn_t. * stdlib/stdlib.h: Define comparison_fn_t only if __COMPAR_FN_T is not defined. Fix typo. Pretty print inline functions. * sysdeps/i386/i486/string.h (__stpcpy_small): Increment __cp not cp. Patch by HJ Lu <hjl@gnu.ai.mit.edu>. 1997-09-20 16:45 Ulrich Drepper <drepper@cygnus.com> * hesiod/hesiod.c (hesiod_init): Use __secure_getenv to get HES_DOMAIN environment variable. Suggested by Mark Kettenis <kettenis@phys.uva.nl>. * hesiod/README.hesiod: A bit of information about Hesiod and how to use it. Written by Mark Kettenis <kettenis@phys.uva.nl>. 1997-09-20 05:15 Ulrich Drepper <drepper@cygnus.com> * manual/maint.texi: Update requirement list. * io/ftw.h: Don't use parameter names from global namespace in prototypes. * stdlib/strtol.c: If used outside glibc handle broken systems which have character classification functions which are not 8-bit clean gracefully. Patch by Bruno Haible <haible@ilog.fr>. 1997-09-19 21:42 David S. Miller <davem@tanya.rutgers.edu> * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: ssize_t is a long long int. 1997-09-19 15:12 H.J. Lu <hjl@gnu.ai.mit.edu> * posix/Makefile (test-srcs): New, set to globtest. 1997-09-20 00:24 Ulrich Drepper <drepper@cygnus.com> * manual/filesys.texi: Document ftw, nftw and needed data types. 1997-09-19 12:53 H.J. Lu <hjl@gnu.ai.mit.edu> * sysdeps/i386/i486/bits/string.h: Fix typo. 1997-09-19 14:11 Ulrich Drepper <drepper@cygnus.com> * io/ftwtest.c (cb): Print level. * io/ftwtest-sh: Updated for ftwtest.c change. * string/argz.h (__argz_next): Cast NULL to char * to satisfy C++ compilers. Reported by Mirko Streckenbach <mirko@ramz.ing.tu-bs.de>. * catgets/catgets.c (catopen): Correctly allocate string of nlspath. Reported by Charles C. Fu <ccwf@klab.caltech.edu>. 1997-09-18 13:30 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de> * sysdeps/i386/init-first.c: Call __getopt_clean_environment with additional argument. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/stub/init-first.c: Likewise. 1997-09-18 03:16 Ulrich Drepper <drepper@cygnus.com> * manual/search.texi: Document lsearch, lfind, the hsearch and tsearch functions. 1997-09-18 00:04 Ulrich Drepper <drepper@cygnus.com> * misc/hsearch_r.c (hsearch_r): Only return error for ENTER action if the table is full and we *really* have to enter a new entry. 1997-09-17 19:44 Ulrich Drepper <drepper@cygnus.com> * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Get rid of hack for handling flush opcode. Patch by Richard Henderson <rth@cygnus.com>.
Diffstat (limited to 'io')
-rw-r--r-- | io/ftw.h | 17 | ||||
-rw-r--r-- | io/ftwtest-sh | 97 | ||||
-rw-r--r-- | io/ftwtest.c | 2 |
3 files changed, 69 insertions, 47 deletions
diff --git a/io/ftw.h b/io/ftw.h index d788b39d16..d377f2c947 100644 --- a/io/ftw.h +++ b/io/ftw.h @@ -86,22 +86,23 @@ struct FTW /* Convenient types for callback functions. */ -typedef int (*__ftw_func_t) __P ((__const char *filename, - __const struct stat *status, int flag)); +typedef int (*__ftw_func_t) __P ((__const char *__filename, + __const struct stat *__status, int __flag)); #ifdef __USE_XOPEN_EXTENDED -typedef int (*__nftw_func_t) __P ((__const char *filename, - __const struct stat *status, int flag, - struct FTW *)); +typedef int (*__nftw_func_t) __P ((__const char *__filename, + __const struct stat *__status, int __flag, + struct FTW *__info)); #endif /* Call a function on every element in a directory tree. */ -extern int ftw __P ((__const char *dir, __ftw_func_t func, int descriptors)); +extern int ftw __P ((__const char *__dir, __ftw_func_t __func, + int __descriptors)); #ifdef __USE_XOPEN_EXTENDED /* Call a function on every element in a directory tree. FLAG allows to specify the behaviour more detailed. */ -extern int nftw __P ((__const char *dir, __nftw_func_t func, - int descriptors, int flag)); +extern int nftw __P ((__const char *__dir, __nftw_func_t __func, + int __descriptors, int __flag)); #endif __END_DECLS diff --git a/io/ftwtest-sh b/io/ftwtest-sh index 79c35d4f9c..f0cd56ab02 100644 --- a/io/ftwtest-sh +++ b/io/ftwtest-sh @@ -46,18 +46,18 @@ LD_LIBRARY_PATH=$objpfx $ldso $testprogram $tmpdir | sort > $testout cat <<EOF | cmp $testout - || exit 1 -base = "$tmp/", file = "ftwtest.d", flag = FTW_D -base = "$tmp/ftwtest.d/", file = "bar", flag = FTW_D -base = "$tmp/ftwtest.d/", file = "baz", flag = FTW_F -base = "$tmp/ftwtest.d/", file = "foo", flag = FTW_D -base = "$tmp/ftwtest.d/bar/", file = "xo", flag = FTW_NS -base = "$tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_D -base = "$tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SLN -base = "$tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_D -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_D -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F +base = "/tmp/", file = "ftwtest.d", flag = FTW_D, level = 0 +base = "/tmp/ftwtest.d/", file = "bar", flag = FTW_D, level = 1 +base = "/tmp/ftwtest.d/", file = "baz", flag = FTW_F, level = 1 +base = "/tmp/ftwtest.d/", file = "foo", flag = FTW_D, level = 1 +base = "/tmp/ftwtest.d/bar/", file = "xo", flag = FTW_NS, level = 2 +base = "/tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_D, level = 2 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SLN, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_D, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_D, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, level = 5 EOF rm $testout @@ -65,18 +65,18 @@ LD_LIBRARY_PATH=$objpfx $ldso $testprogram --depth $tmpdir | sort > $testout cat <<EOF | cmp $testout - || exit 1 -base = "$tmp/", file = "ftwtest.d", flag = FTW_DP -base = "$tmp/ftwtest.d/", file = "bar", flag = FTW_DP -base = "$tmp/ftwtest.d/", file = "baz", flag = FTW_F -base = "$tmp/ftwtest.d/", file = "foo", flag = FTW_DP -base = "$tmp/ftwtest.d/bar/", file = "xo", flag = FTW_NS -base = "$tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_DP -base = "$tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SLN -base = "$tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_DP -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_DP -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F +base = "/tmp/", file = "ftwtest.d", flag = FTW_DP, level = 0 +base = "/tmp/ftwtest.d/", file = "bar", flag = FTW_DP, level = 1 +base = "/tmp/ftwtest.d/", file = "baz", flag = FTW_F, level = 1 +base = "/tmp/ftwtest.d/", file = "foo", flag = FTW_DP, level = 1 +base = "/tmp/ftwtest.d/bar/", file = "xo", flag = FTW_NS, level = 2 +base = "/tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_DP, level = 2 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SLN, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_DP, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_DP, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, level = 5 EOF rm $testout @@ -84,24 +84,45 @@ LD_LIBRARY_PATH=$objpfx $ldso $testprogram --phys $tmpdir | sort > $testout cat <<EOF | cmp $testout - || exit 1 -base = "$tmp/", file = "ftwtest.d", flag = FTW_D -base = "$tmp/ftwtest.d/", file = "bar", flag = FTW_D -base = "$tmp/ftwtest.d/", file = "baz", flag = FTW_F -base = "$tmp/ftwtest.d/", file = "foo", flag = FTW_D -base = "$tmp/ftwtest.d/bar/", file = "xo", flag = FTW_NS -base = "$tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_D -base = "$tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SL -base = "$tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_D -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "link@2", flag = FTW_SL -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_D -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F -base = "$tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "link@3", flag = FTW_SL +base = "/tmp/", file = "ftwtest.d", flag = FTW_D, level = 0 +base = "/tmp/ftwtest.d/", file = "bar", flag = FTW_D, level = 1 +base = "/tmp/ftwtest.d/", file = "baz", flag = FTW_F, level = 1 +base = "/tmp/ftwtest.d/", file = "foo", flag = FTW_D, level = 1 +base = "/tmp/ftwtest.d/bar/", file = "xo", flag = FTW_NS, level = 2 +base = "/tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_D, level = 2 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SL, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_D, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "link@2", flag = FTW_SL, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_D, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, level = 5 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "link@3", flag = FTW_SL, level = 5 EOF rm $testout +# For the next test everything must be readable. chmod -R a+x $tmpdir + +LD_LIBRARY_PATH=$objpfx $ldso $testprogram --chdir $tmpdir | + sort > $testout + +cat <<EOF | cmp $testout - || exit 1 +base = "/tmp/", file = "ftwtest.d", flag = FTW_D, cwd = /tmp, level = 0 +base = "/tmp/ftwtest.d/", file = "bar", flag = FTW_D, cwd = /tmp/ftwtest.d, level = 1 +base = "/tmp/ftwtest.d/", file = "baz", flag = FTW_F, cwd = /tmp/ftwtest.d, level = 1 +base = "/tmp/ftwtest.d/", file = "foo", flag = FTW_D, cwd = /tmp/ftwtest.d, level = 1 +base = "/tmp/ftwtest.d/bar/", file = "xo", flag = FTW_F, cwd = /tmp/ftwtest.d/bar, level = 2 +base = "/tmp/ftwtest.d/foo/", file = "lvl1", flag = FTW_D, cwd = /tmp/ftwtest.d/foo, level = 2 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "file@1", flag = FTW_F, cwd = /tmp/ftwtest.d/foo/lvl1, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "link@1", flag = FTW_SLN, cwd = /tmp/ftwtest.d/foo/lvl1, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/", file = "lvl2", flag = FTW_D, cwd = /tmp/ftwtest.d/foo/lvl1, level = 3 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "file@2", flag = FTW_F, cwd = /tmp/ftwtest.d/foo/lvl1/lvl2, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/", file = "lvl3", flag = FTW_D, cwd = /tmp/ftwtest.d/foo/lvl1/lvl2, level = 4 +base = "/tmp/ftwtest.d/foo/lvl1/lvl2/lvl3/", file = "file@3", flag = FTW_F, cwd = /tmp/ftwtest.d/foo/lvl1/lvl2/lvl3, level = 5 +EOF +rm $testout + rm -fr $tmpdir exit 0 diff --git a/io/ftwtest.c b/io/ftwtest.c index 6daa7e9eee..6079265175 100644 --- a/io/ftwtest.c +++ b/io/ftwtest.c @@ -42,7 +42,7 @@ cb (const char *name, const struct stat *st, int flag, struct FTW *f) printf (", cwd = %s", cwd); free (cwd); } - puts (""); + printf (", level = %d\n", f->level); return 0; } |