diff options
author | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-02 22:38:11 +0000 |
---|---|---|
committer | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-02 22:38:11 +0000 |
commit | 523bd6737ea97bce1f92d2e171a09cc564b50125 (patch) | |
tree | cc2f30a1f08891d269c77148b5208a8eca9a38e4 /configure.in | |
parent | 284d7463924b313f12da8de5184af3407c3612ac (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.in | 33 |
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), |