#! /bin/sh -e # DP: Fix PR libgcj/24170. dir= if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" dir="$3/" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0 cd ${dir}libjava && autoconf ;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 rm -f ${dir}libjava/configure ;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 2008-02-20 Tom Tromey PR libgcj/24170: * java/io/natFilePosix.cc (File::performList): Don't use readdir_r. * configure, include/config.h.in: Rebuilt. * configure.ac: Don't check for readdir_r. Index: libjava/configure.ac =================================================================== --- libjava/configure.ac (revision 132490) +++ libjava/configure.ac (revision 132491) @@ -1023,7 +1023,7 @@ PLATFORMNET=NoNet else AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \ - localtime_r readdir_r getpwuid_r getcwd \ + localtime_r getpwuid_r getcwd \ access stat lstat mkdir rename rmdir unlink utime chmod readlink \ nl_langinfo setlocale \ inet_pton uname inet_ntoa \ Index: libjava/include/config.h.in =================================================================== --- libjava/include/config.h.in (revision 132490) +++ libjava/include/config.h.in (revision 132491) @@ -214,9 +214,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H -/* Define to 1 if you have the `readdir_r' function. */ -#undef HAVE_READDIR_R - /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK Index: libjava/java/io/natFilePosix.cc =================================================================== --- libjava/java/io/natFilePosix.cc (revision 132490) +++ libjava/java/io/natFilePosix.cc (revision 132491) @@ -1,6 +1,6 @@ // natFile.cc - Native part of File class for POSIX. -/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006 +/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008 Free Software Foundation This file is part of libgcj. @@ -292,13 +292,7 @@ java::util::ArrayList *list = new java::util::ArrayList (); struct dirent *d; -#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS) - int name_max = pathconf (buf, _PC_NAME_MAX); - char dbuf[sizeof (struct dirent) + name_max + 1]; - while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL) -#else /* HAVE_READDIR_R */ while ((d = readdir (dir)) != NULL) -#endif /* HAVE_READDIR_R */ { // Omit "." and "..". if (d->d_name[0] == '.'