[#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 Mon 12 Jan 2004 at 10:31:52 +0900, Yukihiro Matsumoto wrote:
> In message "Re: [PATCH] File.readable_world? and File.writable_world?"
> on 04/01/12, Ian Macdonald <ian@caliban.org> writes:
>
> |What about Nobu's suggestion to have the methods in File::Stat, too? Do
> |you want me to add them there, also?
>
> Sounds nice.
OK. Here is the File::Stat patch with associated ChangeLog.
Ian
--
Ian Macdonald | Simulations are like miniskirts, they show
System Administrator | a lot and hide the essentials. -- Hubert
ian@caliban.org | Kirrman
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 2004-01-12 20:54:50.000000000 -0800
+++ ruby-1.8.1/ruby/file.c 2004-01-13 00:38:31.000000000 -0800
@@ -3582,6 +3582,38 @@
}
/*
+ * call-seq:
+ * stat.world_readable? => fixnum or nil
+ *
+ * If <i>stat</i> is readable by others, returns an integer
+ * representing the file permission bits of <i>stat</i>. Returns
+ * <code>nil</code> otherwise. The meaning of the bits is platform
+ * dependent; on Unix systems, see <code>stat(2)</code>.
+ *
+ * m = File.stat("/etc/passwd").world_readable? # => 420
+ * sprintf("%o", m) # => "644"
+ */
+
+static VALUE
+rb_stat_wr(obj)
+ VALUE obj;
+{
+#ifdef S_IROTH
+ if ((get_stat(obj)->st_mode & (S_IROTH)) == S_IROTH) {
+#ifdef __BORLANDC__
+ return UINT2NUM((unsigned short)(get_stat(obj)->st_mode &
+ (S_IRUGO|S_IWUGO|S_IXUGO)));
+#else
+ return UINT2NUM(get_stat(obj)->st_mode & (S_IRUGO|S_IWUGO|S_IXUGO));
+#endif
+ }
+ else {
+ return Qnil;
+ }
+#endif
+}
+
+/*
* call-seq:
* stat.writable? -> true or false
*
@@ -3644,6 +3676,38 @@
}
/*
+ * call-seq:
+ * stat.world_writable? => fixnum or nil
+ *
+ * If <i>stat</i> is writable by others, returns an integer
+ * representing the file permission bits of <i>stat</i>. Returns
+ * <code>nil</code> otherwise. The meaning of the bits is platform
+ * dependent; on Unix systems, see <code>stat(2)</code>.
+ *
+ * m = File.stat("/tmp").world_writable? # => 511
+ * sprintf("%o", m) # => "777"
+ */
+
+static VALUE
+rb_stat_ww(obj)
+ VALUE obj;
+{
+#ifdef S_IROTH
+ if ((get_stat(obj)->st_mode & (S_IWOTH)) == S_IWOTH) {
+#ifdef __BORLANDC__
+ return UINT2NUM((unsigned short)(get_stat(obj)->st_mode &
+ (S_IRUGO|S_IWUGO|S_IXUGO)));
+#else
+ return UINT2NUM(get_stat(obj)->st_mode & (S_IRUGO|S_IWUGO|S_IXUGO));
+#endif
+ }
+ else {
+ return Qnil;
+ }
+#endif
+}
+
+/*
* call-seq:
* stat.executable? => true or false
*
@@ -4253,8 +4317,10 @@
rb_define_method(rb_cStat, "directory?", rb_stat_d, 0);
rb_define_method(rb_cStat, "readable?", rb_stat_r, 0);
rb_define_method(rb_cStat, "readable_real?", rb_stat_R, 0);
+ rb_define_method(rb_cStat, "world_readable?", rb_stat_wr, 0);
rb_define_method(rb_cStat, "writable?", rb_stat_w, 0);
rb_define_method(rb_cStat, "writable_real?", rb_stat_W, 0);
+ rb_define_method(rb_cStat, "world_writable?", rb_stat_ww, 0);
rb_define_method(rb_cStat, "executable?", rb_stat_x, 0);
rb_define_method(rb_cStat, "executable_real?", rb_stat_X, 0);
rb_define_method(rb_cStat, "file?", rb_stat_f, 0);
Tue Jan 13 01:03:02 PST 2004 Ian Macdonald <ian@caliban.org> * file.c (rb_stat_wr, rb_stat_ww): New functions implementing new methods (File::Stat#world_readable?, File::Stat#world_writable?).