From cd948e46002a8e7fb8ff906e18a92da549669d81 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: svn+ssh://ci.ruby-lang.org/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 10abf4a300..90d6f4e700 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 da93d45253..cb10187e2b 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 7e97e170f5..083bc83fe4 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 v1.2.3