From 15a320a17acbba99adf7ba462b7344e4af85adf3 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 12 Apr 2002 08:45:02 +0000 Subject: * struct.c (rb_struct_select): fix typo. * io.c (io_write): check error if written data is less than specified size to detect EPIPE. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 9 +++++++++ io.c | 4 ++-- struct.c | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 10abf4a30..90d6f4e70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,10 @@ Fri Apr 12 12:54:04 2002 NAKAMURA Usaku * win32/config.h.in: define HAVE_COSH, HAVE_SINH, and HAVE_TANH. +Fri Apr 12 02:58:55 2002 Koji Arai + + * struct.c (rb_struct_select): fix typo. + Fri Apr 12 00:34:17 2002 Nobuyoshi Nakada * MANIFEST (missing/acosh.c): added. @@ -17,6 +21,11 @@ Fri Apr 12 00:34:17 2002 Nobuyoshi Nakada * missing/acosh.c: added for acosh(), asinh() and atanh(). +Thu Apr 11 20:01:44 2002 Masahiro Tomita + + * io.c (io_write): check error if written data is less than + specified size to detect EPIPE. + Thu Apr 11 19:10:37 2002 WATANABE Hirofumi * io.c (remain_size): IO#read returns "" if file.size == 0. diff --git a/io.c b/io.c index da93d4525..cb10187e2 100644 --- a/io.c +++ b/io.c @@ -290,11 +290,11 @@ io_write(io, str) break; n = ptr - RSTRING(str)->ptr; } - if (n == 0 && ferror(f)) + if (n != RSTRING(str)->len && ferror(f)) rb_sys_fail(fptr->path); #else n = fwrite(RSTRING(str)->ptr, 1, RSTRING(str)->len, f); - if (n == 0 && ferror(f)) { + if (n != RSTRING(str)->len && ferror(f)) { rb_sys_fail(fptr->path); } #endif diff --git a/struct.c b/struct.c index 7e97e170f..083bc83fe 100644 --- a/struct.c +++ b/struct.c @@ -540,7 +540,7 @@ rb_struct_select(argc, argv, s) rb_raise(rb_eArgError, "wrong number arguments(%d for 0)", argc); } for (i = 0; i < RSTRUCT(s)->len; i++) { - if (RTEST(rb_yield(RARRAY(s)->ptr[i]))) { + if (RTEST(rb_yield(RSTRUCT(s)->ptr[i]))) { rb_ary_push(result, RSTRUCT(s)->ptr[i]); } } -- cgit