1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* io.c (copy_stream_fallback_body): off_t may be larger than long.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-03-11 20:22:52 +00:00
parent f61b80079e
commit 748ed24234
2 changed files with 6 additions and 4 deletions

View file

@ -1,4 +1,6 @@
Thu Mar 12 05:19:22 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
Thu Mar 12 05:22:50 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (copy_stream_fallback_body): off_t may be larger than long.
* iseq.c (rb_iseq_disasm): RSTRING_LEN() returns long.

6
io.c
View file

@ -5448,7 +5448,7 @@ rb_io_reopen(int argc, VALUE *argv, VALUE file)
if (close(fptr->fd) < 0)
rb_sys_fail_path(fptr->pathv);
fptr->fd = -1;
fptr->fd = rb_sysopen(fptr->pathv, oflags, 0666);
fptr->fd = rb_sysopen(fptr->pathv, oflags, 0666);
}
return file;
@ -7726,7 +7726,7 @@ copy_stream_fallback_body(VALUE arg)
const int buflen = 16*1024;
VALUE n;
VALUE buf = rb_str_buf_new(buflen);
long rest = stp->copy_length;
off_t rest = stp->copy_length;
off_t off = stp->src_offset;
ID read_method = id_readpartial;
@ -7745,7 +7745,7 @@ copy_stream_fallback_body(VALUE arg)
else {
if (rest == 0)
break;
l = buflen < rest ? buflen : rest;
l = buflen < rest ? buflen : (long)rest;
}
if (stp->src_fd == -1) {
rb_funcall(stp->src, read_method, 2, INT2FIX(l), buf);