ruby-changes:6504
From: nobu <ko1@a...>
Date: Fri, 11 Jul 2008 06:48:13 +0900 (JST)
Subject: [ruby-changes:6504] Ruby:r18020 (mvm): * dir.c (fcntl.h): needed for AT_FDCWD.
nobu 2008-07-11 06:44:09 +0900 (Fri, 11 Jul 2008) New Revision: 18020 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18020 Log: * dir.c (fcntl.h): needed for AT_FDCWD. * dir.c (rb_dir_mkdir, rb_dir_unlink, rb_dir_rmdir): fix for dirfd(). Modified files: branches/mvm/ChangeLog branches/mvm/dir.c Index: mvm/ChangeLog =================================================================== --- mvm/ChangeLog (revision 18019) +++ mvm/ChangeLog (revision 18020) @@ -1,3 +1,9 @@ +Fri Jul 11 06:44:06 2008 Nobuyoshi Nakada <nobu@r...> + + * dir.c (fcntl.h): needed for AT_FDCWD. + + * dir.c (rb_dir_mkdir, rb_dir_unlink, rb_dir_rmdir): fix for dirfd(). + Fri Jul 11 06:26:29 2008 Nobuyoshi Nakada <nobu@r...> * thread.c (rb_get_coverages): return VM specific data instead of the Index: mvm/dir.c =================================================================== --- mvm/dir.c (revision 18019) +++ mvm/dir.c (revision 18020) @@ -20,6 +20,9 @@ #ifdef HAVE_UNISTD_H #include <unistd.h> #endif +#ifdef HAVE_FCNTL_H +#include <fcntl.h> +#endif #if defined HAVE_DIRENT_H && !defined _WIN32 # include <dirent.h> @@ -2258,7 +2261,7 @@ check_dirname(&path); GetDIR(dir, dp); #if USE_OPENAT - if (mkdirat(dirfd(dp), RSTRING_PTR(path), mode) == -1) { + if (mkdirat(dirfd(dp->dir), RSTRING_PTR(path), mode) == -1) { preserving_errno(fullpath = to_fullpath(&path, rb_str_new2(dp->path))); rb_sys_fail(fullpath); } @@ -2282,7 +2285,7 @@ check_dirname(&path); GetDIR(dir, dp); #if USE_OPENAT - if (unlinkat(dirfd(dp), RSTRING_PTR(path), 0) == -1) { + if (unlinkat(dirfd(dp->dir), RSTRING_PTR(path), 0) == -1) { preserving_errno(fullpath = to_fullpath(&path, rb_str_new2(dp->path))); rb_sys_fail(fullpath); } @@ -2327,7 +2330,7 @@ check_dirname(&path); GetDIR(dir, dp); #if USE_OPENAT - if (unlinkat(dirfd(dp), RSTRING_PTR(path), AT_REMOVEDIR) == -1) { + if (unlinkat(dirfd(dp->dir), RSTRING_PTR(path), AT_REMOVEDIR) == -1) { preserving_errno(fullpath = to_fullpath(&path, rb_str_new2(dp->path))); rb_sys_fail(fullpath); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/