diff --git a/ChangeLog b/ChangeLog index 55a31dcca1..3839b1ae4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Oct 27 10:02:47 2008 NAKAMURA Usaku + + * io.c (read_all): the 3rd argument maybe Qnil. + Mon Oct 27 01:29:55 2008 Yusuke Endoh * test/nkf/test_nkf.rb: add a test for [ruby-dev:36909]. diff --git a/io.c b/io.c index 125180b925..ff1c74a3e3 100644 --- a/io.c +++ b/io.c @@ -1556,7 +1556,8 @@ read_all(rb_io_t *fptr, long siz, VALUE str) int cr; if (NEED_READCONV(fptr)) { - if (!NIL_P(str)) rb_str_set_len(str, 0); + if (NIL_P(str)) str = rb_str_new(NULL, 0); + else rb_str_set_len(str, 0); make_readconv(fptr); while (1) { if (fptr->cbuf_len) {