[#4076] Ruby/DL — Jamis Buck <jamis_buck@...>

I recently used Ruby/DL to create bindings to the SQLite3 embedded

40 messages 2005/01/03
[#4096] Re: Ruby/DL — Paul Brannan <pbrannan@...> 2005/01/04

On Tue, Jan 04, 2005 at 02:53:49AM +0900, Jamis Buck wrote:

[#4099] Re: Ruby/DL — ts <decoux@...> 2005/01/04

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#4119] Re: Ruby/DL — Paul Brannan <pbrannan@...> 2005/01/05

On Wed, Jan 05, 2005 at 03:05:48AM +0900, ts wrote:

[#4120] Re: Ruby/DL — ts <decoux@...> 2005/01/05

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#4125] Re: Ruby/DL — Paul Brannan <pbrannan@...> 2005/01/05

On Thu, Jan 06, 2005 at 01:10:34AM +0900, ts wrote:

[#4116] Test::Unit::Collector::Dir won't work with code that modifies $LOAD_PATH — Eric Hodel <drbrain@...7.net>

Any test code that depends upon modifications of $: fails when used

10 messages 2005/01/05

[#4146] The face of Unicode support in the future — Charles O Nutter <headius@...>

Hello Rubyists!

47 messages 2005/01/06
[#4152] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/07

Hi,

[#4167] Re: The face of Unicode support in the future — Christian Neukirchen <chneukirchen@...> 2005/01/09

Yukihiro Matsumoto <matz@ruby-lang.org> writes:

[#4175] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/10

Hi,

[#4186] Re: The face of Unicode support in the future — Paul Brannan <pbrannan@...> 2005/01/11

On Mon, Jan 10, 2005 at 11:53:48PM +0900, Yukihiro Matsumoto wrote:

[#4192] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/12

Hi,

[#4269] Re: The face of Unicode support in the future — Wes Nakamura <wknaka@...>

19 messages 2005/01/18
[#4270] Re: The face of Unicode support in the future — Yukihiro Matsumoto <matz@...> 2005/01/18

Hi,

[#4275] Re: The face of Unicode support in the future — Wes Nakamura <wknaka@...> 2005/01/19

[#4323] test/unit doesn't rescue a Exception — Tanaka Akira <akr@...17n.org>

test/unit doesn't rescue a Exception in a test method, as follows.

14 messages 2005/01/27
[#8773] Re: test/unit doesn't rescue a Exception — Tanaka Akira <akr@...> 2006/09/02

In article <87is5jb46q.fsf@serein.a02.aist.go.jp>,

[#8776] Re: test/unit doesn't rescue a Exception — "Nathaniel Talbott" <ntalbott@...> 2006/09/03

On 9/1/06, Tanaka Akira <akr@fsij.org> wrote:

[#8777] Re: test/unit doesn't rescue a Exception — Eric Hodel <drbrain@...7.net> 2006/09/03

On Sep 2, 2006, at 6:34 PM, Nathaniel Talbott wrote:

[PATCH] IO#clearerr missing in action

From: Eric Hodel <drbrain@...7.net>
Date: 2005-01-30 07:52:04 UTC
List: ruby-core #4332
I wanted to implement tail(1) in ruby cleanly, but found the best I 
could do was to trigger clearerr(3) with fp.pos = fp.pos.  So then I 
whipped up this nice little patch to add IO#clearerr.



I'm not sure if argf_clearerr is good to add or not, but I implemented 
it for completeness.

-- 
Eric Hodel - drbrain@segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04

Attachments (2)

io.c.clearrerr.patch (1.85 KB, text/x-diff)
Index: io.c
===================================================================
RCS file: /src/ruby/io.c,v
retrieving revision 1.246.2.71
diff -u -r1.246.2.71 io.c
--- io.c	25 Jan 2005 04:02:27 -0000	1.246.2.71
+++ io.c	30 Jan 2005 07:48:31 -0000
@@ -760,6 +760,33 @@
 
 /*
  *  call-seq:
+ *     ios.clearerr => nil
+ *  
+ *  Clears the end of file and error indicators for <em>ios</em>.
+ *     
+ *     f = File.new("testfile")
+ *     dummy = f.read
+ *     f.eof   #=> true
+ *     f.clearerr
+ *     # wait for more data
+ *     dummy = f.read
+ */
+
+VALUE
+rb_io_clearerr(io)
+    VALUE io;
+{
+    OpenFile *fptr;
+
+    GetOpenFile(io, fptr);
+
+    clearerr(fptr->f);
+
+    return Qnil;
+}
+
+/*
+ *  call-seq:
  *     ios.sync    => true or false
  *  
  *  Returns the current ``sync mode'' of <em>ios</em>. When sync mode is
@@ -5171,6 +5198,17 @@
 }
 
 static VALUE
+argf_clearerr()
+{
+    if (current_file) {
+	if (init_p == 0) return Qnil;
+	ARGF_FORWARD();
+	return rb_io_clearerr(current_file);
+    }
+    return Qnil;
+}
+
+static VALUE
 argf_read(argc, argv)
     int argc;
     VALUE *argv;
@@ -5563,6 +5601,7 @@
     rb_define_method(rb_cIO, "pos=", rb_io_set_pos, 1);
     rb_define_method(rb_cIO, "eof", rb_io_eof, 0);
     rb_define_method(rb_cIO, "eof?", rb_io_eof, 0);
+    rb_define_method(rb_cIO, "clearerr", rb_io_clearerr, 0);
 
     rb_define_method(rb_cIO, "close", rb_io_close_m, 0);
     rb_define_method(rb_cIO, "closed?", rb_io_closed, 0);
@@ -5627,6 +5666,7 @@
     rb_define_singleton_method(argf, "pos=", argf_set_pos, 1);
     rb_define_singleton_method(argf, "eof", argf_eof, 0);
     rb_define_singleton_method(argf, "eof?", argf_eof, 0);
+    rb_define_singleton_method(argf, "clearerr", argf_clearerr, 0);
     rb_define_singleton_method(argf, "binmode", argf_binmode, 0);
 
     rb_define_singleton_method(argf, "filename", argf_filename, 0);
PGP.sig (186 Bytes, application/pgp-signature)

In This Thread

Prev Next