+2017-08-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ fts: port recent changes to CentOS 6
+ Problem reported by Tom G. Christensen in:
+ http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00064.html
+ * lib/fts.c (fsword): New type.
+ (struct dev_type, filesystem_type): Use it.
+ * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
+ Also, check for f_type only if fstatfs and sys/vfs.h work.
+
2017-08-09 Paul Eggert <eggert@cs.ucla.edu>
tempname: do not depend on secure_getenv
# define S_MAGIC_TMPFS 0x1021994
# define S_MAGIC_XFS 0x58465342
+# ifdef HAVE___FSWORD_T
+typedef __fsword_t fsword;
+# else
+typedef long int fsword;
+# endif
+
/* Map a stat.st_dev number to a file system type number f_ftype. */
struct dev_type
{
dev_t st_dev;
- __fsword_t f_type;
+ fsword f_type;
};
/* Use a tiny initial size. If a traversal encounters more than
/* Return the file system type of P, or 0 if not known.
Try to cache known values. */
-static __fsword_t
+static fsword
filesystem_type (FTSENT const *p)
{
FTS *sp = p->fts_fts;
-#serial 20
+#serial 21
dnl Copyright (C) 2005-2017 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_CHECK_FUNCS_ONCE([fstatfs])
AC_CHECK_HEADERS_ONCE([sys/param.h sys/vfs.h])dnl
- AC_CHECK_MEMBERS([struct statfs.f_type],,,
- [$ac_includes_default
- #include <sys/vfs.h>])
+ if test "$ac_cv_func_fstatfs,$ac_cv_header_sys_vfs_h" = yes,yes; then
+ AC_CHECK_MEMBERS([struct statfs.f_type], [], [],
+ [[$ac_includes_default
+ #include <sys/vfs.h>
+ ]])
+ if test "$ac_cv_member_struct_statfs_f_type" = yes; then
+ AC_CHECK_TYPES([__fsword_t], [], [],
+ [[$ac_includes_default
+ #include <sys/vfs.h>
+ ]])
+ fi
+ fi
])