From 45815f9c9d334e0d7a0c40ba939661efdba08153 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 4 Jun 2010 23:30:48 +0000 Subject: [PATCH] * file.c (rb_f_test): 'W' should test writable by real uid/git, not world writable. [ruby-core:30587] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ file.c | 2 +- test/ruby/test_file_exhaustive.rb | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8c7a43ff3b..2e7ddf84d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Jun 5 08:30:42 2010 Nobuyoshi Nakada + + * file.c (rb_f_test): 'W' should test writable by real uid/git, + not world writable. [ruby-core:30587] + Sat Jun 5 06:20:57 2010 Eric Hodel * dir.c: Clarification of what '*' matches. Patch by John Wells diff --git a/file.c b/file.c index 5c037fe36f..7bb4e0bdc5 100644 --- a/file.c +++ b/file.c @@ -4099,7 +4099,7 @@ rb_f_test(int argc, VALUE *argv) return rb_file_writable_p(0, argv[1]); case 'W': - return rb_file_world_writable_p(0, argv[1]); + return rb_file_writable_real_p(0, argv[1]); case 'x': return rb_file_executable_p(0, argv[1]); diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb index 9589e909da..35d6bcff14 100644 --- a/test/ruby/test_file_exhaustive.rb +++ b/test/ruby/test_file_exhaustive.rb @@ -538,7 +538,7 @@ class TestFileExhaustive < Test::Unit::TestCase assert_equal(File.socket?(f), test(?S, f)) assert_equal(File.setuid?(f), test(?u, f)) assert_equal(File.writable?(f), test(?w, f)) - assert_equal(File.world_writable?(f), test(?W, f)) + assert_equal(File.writable_real?(f), test(?W, f)) assert_equal(File.executable?(f), test(?x, f)) assert_equal(File.executable_real?(f), test(?X, f)) assert_equal(File.zero?(f), test(?z, f))