[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]