summaryrefslogtreecommitdiff
path: root/pack.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-07 02:51:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-07 02:51:05 +0000
commit4ded52b623ebd1b3de12db82f8b54cc156c1fd28 (patch)
tree7b44f5fa6aa0e5c49b2928d43f00ccc71c97a07f /pack.c
parent43db576e61cc70fc7d8280183b71985e5ab18651 (diff)
* file.c (rb_get_path): get path string via "to_path" method if
path object is not a string. [Ruby2] * gc.c (rb_gc_call_finalizer_at_exit): do not free threads in the exit finalizers. * io.c (rb_io_reopen): should use rb_io_check_io(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'pack.c')
-rw-r--r--pack.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pack.c b/pack.c
index f011a1f2c4..e90c0141c9 100644
--- a/pack.c
+++ b/pack.c
@@ -868,10 +868,10 @@ pack_pack(ary, fmt)
from = NEXTFROM;
from = rb_to_int(from);
l = num2i32(from);
- le = uv_to_utf8(buf, l);
- if (TYPE(from) == T_BIGNUM) {
+ if (l < 0) {
rb_raise(rb_eRangeError, "pack(U): value out of range");
}
+ le = uv_to_utf8(buf, l);
rb_str_buf_cat(res, (char*)buf, le);
}
break;