summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-02 22:38:11 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-02 22:38:11 +0000
commit523bd6737ea97bce1f92d2e171a09cc564b50125 (patch)
treecc2f30a1f08891d269c77148b5208a8eca9a38e4 /configure.in
parent284d7463924b313f12da8de5184af3407c3612ac (diff)
* configure.in: removes AC_CHECK_FUNCS(readdir_r). readdir_r()
is only used from dir.c and it doesn't need readdir_r(). * configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): remvoed. It is only used for readdir_r. * dir.c: removes NAME_MAX_FOR_STRUCT_DIRENT. It is not right way to detect maximum length of path len. POSIX require to use fpathconf(). IOW, it might have lead to make a vulnerability using stack smashing. Moreover, readdir() works enough for our usage. * dir.c (READDIR): removes an implementation which uses readdir_r() and parenthesize in a macro body correctly. * dir.c (dir_read): removes IF_HAVE_READDIR_R(DEFINE_STRUCT_DIRENT entry), it is used only for readdir_r(). * dir.c (dir_each): ditto. * dir.c (glob_helper): ditto. * dir.c (READDIR): removes entry and dp argument. * dir.c (dir_read): adjust for the above change. * dir.c (dir_each): ditto. * dir.c (glob_helper): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in33
1 files changed, 0 insertions, 33 deletions
diff --git a/configure.in b/configure.in
index 3f1d017598..ff796bef5a 100644
--- a/configure.in
+++ b/configure.in
@@ -1777,7 +1777,6 @@ AC_CHECK_FUNCS(posix_fadvise)
AC_CHECK_FUNCS(posix_memalign)
AC_CHECK_FUNCS(ppoll)
AC_CHECK_FUNCS(pread)
-AC_CHECK_FUNCS(readdir_r)
AC_CHECK_FUNCS(readlink)
AC_CHECK_FUNCS(round)
AC_CHECK_FUNCS(seekdir)
@@ -2186,38 +2185,6 @@ fi
RUBY_CHECK_SIZEOF([struct stat.st_ino], [long "long long"], [], [@%:@include <sys/stat.h>])
-AC_CACHE_CHECK([whether struct dirent.d_name is too small], rb_cv_sizeof_struct_dirent_too_small,
- [AC_COMPILE_IFELSE(
- [AC_LANG_BOOL_COMPILE_TRY([AC_INCLUDES_DEFAULT([
-@%:@if defined _WIN32
-@%:@ error <<<struct direct in win32/dir.h has variable length d_name>>>
-@%:@elif defined HAVE_DIRENT_H
-@%:@ include <dirent.h>
-@%:@elif defined HAVE_DIRECT_H
-@%:@ include <direct.h>
-@%:@else
-@%:@ define dirent direct
-@%:@ if HAVE_SYS_NDIR_H
-@%:@ include <sys/ndir.h>
-@%:@ endif
-@%:@ if HAVE_SYS_DIR_H
-@%:@ include <sys/dir.h>
-@%:@ endif
-@%:@ if HAVE_NDIR_H
-@%:@ include <ndir.h>
-@%:@ endif
-@%:@endif
-@%:@include <stddef.h>
-@%:@define numberof(array) [(int)(sizeof(array) / sizeof((array)[0]))]
-struct dirent d;
-])],
- [offsetof(struct dirent, [d_name[numberof(d.d_name)]]) - offsetof(struct dirent, d_name) < 256])],
- [rb_cv_sizeof_struct_dirent_too_small=yes],
- [rb_cv_sizeof_struct_dirent_too_small=no])])
-if test "$rb_cv_sizeof_struct_dirent_too_small" = yes; then
- AC_DEFINE(SIZEOF_STRUCT_DIRENT_TOO_SMALL, 1)
-fi
-
if test "$ac_cv_func_sysconf" = yes; then
AC_DEFUN([RUBY_CHECK_SYSCONF], [dnl
AC_CACHE_CHECK([whether _SC_$1 is supported], rb_cv_have_sc_[]m4_tolower($1),