[#2139] Best way to install ri documentation — Dave Thomas <dave@...>
Folks:
On Monday, January 5, 2004, 2:29:57 AM, Dave wrote:
Hi,
Perhaps make it available for mirrors and save ruby-lang's bandwidth?
Hi,
So, I'm thinking about doing the following? Is this OK with everyone?
Hi,
On Tue, 6 Jan 2004 00:47:41 +0900
On Mon, 12 Jan 2004 23:30:52 +0900
On Tue, Jan 13, 2004 at 12:01:38AM +0900, Dave Thomas wrote:
Hi, Dave,
Hi,
Hi, daz,
On Tuesday, 6 January 2004 at 15:02:50 +0900, NAKAMURA, Hiroshi wrote:
[#2163] Occasional --enable-pthread hangs... — Nathaniel Talbott <nathaniel@...>
First of all, thanks so much to all those that have helped with
On Jan 5, 2004, at 21:49, Nathaniel Talbott wrote:
[#2186] Absolute paths in shebang lines? — "J.Herre" <jlst@...>
What would the reaction be to reconsidering the following proposal?
[#2194] File.readable_world? and File.writable_world? — Ian Macdonald <ian@...>
Hello,
On Fri, Jan 09, 2004 at 06:02:07PM +0900, Ian Macdonald wrote:
On Fri 09 Jan 2004 at 23:10:02 +0900, Eivind Eklund wrote:
Hi,
On Sun 11 Jan 2004 at 00:47:33 +0900, Yukihiro Matsumoto wrote:
Hi,
On Sun 11 Jan 2004 at 21:40:22 +0900, Yukihiro Matsumoto wrote:
Hi,
On Mon 12 Jan 2004 at 10:31:52 +0900, Yukihiro Matsumoto wrote:
Hi,
On Mon 12 Jan 2004 at 22:36:16 +0900, Yukihiro Matsumoto wrote:
On Mon 12 Jan 2004 at 10:31:52 +0900, Yukihiro Matsumoto wrote:
On Sun 11 Jan 2004 at 00:47:33 +0900, Yukihiro Matsumoto wrote:
[#2211] xxx_init_copy — Dave Thomas <dave@...>
I notivce that there're a bunch of new xxx_init_copy methods: RDoc is
Hi,
Hi,
Hi,
Hi,
[#2216] ruby aborts in data-handling applications — xsdg <xsdg@...>
I reported a similar bug about 2 or 3 months ago. The problem seemed to go
Hi,
I've finally found a combination that will reliably segfault. Since my first post on this topic, I've switched the backend from BDB to GDBM.
Hi,
On Mon, Jan 19, 2004 at 11:32:59AM +0900, nobu.nokada@softhome.net wrote:
[#2225] Fwd: [ruby-cvs] ruby: * file.c (test_wr, test_ww): New functions implementing new — Dave Thomas <dave@...>
On Mon 12 Jan 2004 at 23:38:29 +0900, Dave Thomas wrote:
[#2251] YAML_Unit_Tests failed — "NAKAMURA, Hiroshi" <nahi@...>
Hi,
[#2285] A suggestion for libraries such as base64.rb — Dave Thomas <dave@...>
Some of the older libraries simply insert stuff into the top-level
[#2305] Time#usec round trip problem — Minero Aoki <aamine@...>
Hi,
[#2306] YAML.dump("a".."z") — Minero Aoki <aamine@...>
Hi,
Re: [PATCH] File.readable_world? and File.writable_world?
On Sun 11 Jan 2004 at 11:06:59 +0900, Yukihiro Matsumoto wrote:
> In message "Re: [PATCH] File.readable_world? and File.writable_world?"
> on 04/01/11, Ian Macdonald <ian@caliban.org> writes:
>
> |> I prefer world_writable? that means being writable from anybody.
> |
> |Do you want me to submit a new patch?
>
> Yes, hopefully with ChangeLog entry.
OK. Here's the patch that implements File::readable_others?,
File::world_readable?, File::writable_others? and File::world_writable?.
The corresponding instance methods in FileTest have also been
implemented.
I have attached the ChangeLog entry to this message.
Will this go into 1.9 or also into 1.8.2?
Ian
--
Ian Macdonald | Successful and fortunate crime is called
System Administrator | virtue. - Seneca
ian@caliban.org |
http://www.caliban.org |
|
Attachments (2)
diff -uNr ruby-1.8.1.orig/ruby/file.c ruby-1.8.1/ruby/file.c
--- ruby-1.8.1.orig/ruby/file.c 2003-12-24 07:19:09.000000000 -0800
+++ ruby-1.8.1/ruby/file.c 2004-01-11 01:00:39.000000000 -0800
@@ -1015,6 +1015,47 @@
return Qtrue;
}
+/*
+ * call-seq:
+ * File.readable_others?(file_name) => true or false
+ *
+ * Returns <code>true</code> if the named file is readable by others.
+ */
+
+static VALUE
+test_ro(obj, fname)
+ VALUE obj, fname;
+{
+#ifdef S_IROTH
+ struct stat st;
+
+ if (rb_stat(fname, &st) < 0) return Qfalse;
+ if ((st.st_mode & S_IROTH) != 0) return Qtrue;
+#endif
+ return Qfalse;
+}
+
+/*
+ * call-seq:
+ * File.world_readable?(file_name) => true or false
+ *
+ * Returns <code>true</code> if the named file is readable by everyone.
+ */
+
+static VALUE
+test_wr(obj, fname)
+ VALUE obj, fname;
+{
+#ifdef S_IROTH
+ struct stat st;
+
+ if (rb_stat(fname, &st) < 0) return Qfalse;
+ if ((st.st_mode & (S_IRUSR|S_IRGRP|S_IROTH)) ==
+ (S_IRUSR|S_IRGRP|S_IROTH)) return Qtrue;
+#endif
+ return Qfalse;
+}
+
/*
* call-seq:
@@ -1052,6 +1093,47 @@
/*
* call-seq:
+ * File.writable_others?(file_name) => true or false
+ *
+ * Returns <code>true</code> if the named file is writable by others.
+ */
+
+static VALUE
+test_wo(obj, fname)
+ VALUE obj, fname;
+{
+#ifdef S_IWOTH
+ struct stat st;
+
+ if (rb_stat(fname, &st) < 0) return Qfalse;
+ if ((st.st_mode & S_IWOTH) != 0) return Qtrue;
+#endif
+ return Qfalse;
+}
+
+/*
+ * call-seq:
+ * File.world_writable?(file_name) => true or false
+ *
+ * Returns <code>true</code> if the named file is writable by everyone.
+ */
+
+static VALUE
+test_ww(obj, fname)
+ VALUE obj, fname;
+{
+#ifdef S_IWOTH
+ struct stat st;
+
+ if (rb_stat(fname, &st) < 0) return Qfalse;
+ if ((st.st_mode & (S_IWUSR|S_IWGRP|S_IWOTH)) ==
+ (S_IWUSR|S_IWGRP|S_IWOTH)) return Qtrue;
+#endif
+ return Qfalse;
+}
+
+/*
+ * call-seq:
* File.executable?(file_name) => true or false
*
* Returns <code>true</code> if the named file is executable by the effective
@@ -4052,8 +4134,12 @@
define_filetest_function("exists?", test_e, 1); /* temporary */
define_filetest_function("readable?", test_r, 1);
define_filetest_function("readable_real?", test_R, 1);
+ define_filetest_function("readable_others?", test_ro, 1);
+ define_filetest_function("world_readable?", test_wr, 1);
define_filetest_function("writable?", test_w, 1);
define_filetest_function("writable_real?", test_W, 1);
+ define_filetest_function("writable_others?", test_wo, 1);
+ define_filetest_function("world_writable?", test_ww, 1);
define_filetest_function("executable?", test_x, 1);
define_filetest_function("executable_real?", test_X, 1);
define_filetest_function("file?", test_f, 1);
diff -uNr ruby-1.8.1.orig/ruby/lib/pathname.rb ruby-1.8.1/ruby/lib/pathname.rb
--- ruby-1.8.1.orig/ruby/lib/pathname.rb 2003-12-25 23:42:35.000000000 -0800
+++ ruby-1.8.1/ruby/lib/pathname.rb 2004-01-11 01:00:14.000000000 -0800
@@ -423,6 +423,8 @@
def owned?() FileTest.owned?(@path) end
def readable?() FileTest.readable?(@path) end
def readable_real?() FileTest.readable_real?(@path) end
+ def readable_others?() FileTest.readable_others?(@path) end
+ def world_readable?() FileTest.world_readable?(@path) end
def setuid?() FileTest.setuid?(@path) end
def setgid?() FileTest.setgid?(@path) end
def size() FileTest.size(@path) end
@@ -431,6 +433,8 @@
def symlink?() FileTest.symlink?(@path) end
def writable?() FileTest.writable?(@path) end
def writable_real?() FileTest.writable_real?(@path) end
+ def writable_others?() FileTest.writable_others?(@path) end
+ def world_writable?() FileTest.world_writable?(@path) end
def zero?() FileTest.zero?(@path) end
end
Sun Jan 11 01:08:04 2004 Ian Macdonald <ian@caliban.org> * file.c (test_ro, test_wr, test_wo, test_ww): New functions implementing new methods (File::readable_others?, File::world_readable?, File::writable_others? and File::world_writable?). * lib/pathname.rb: New methods (FileTest#readable_others?, FileTest#world_readable?, FileTest#writable_others? and FileTest#world_writable?).