diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-23 17:40:14 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-23 17:40:14 +0000 |
commit | dfb6f63899a14f35f2f25bcb3a1871a77d9044c6 (patch) | |
tree | 6fb0edd39264330fa688bcf8e0739d775c5dab23 /array.c | |
parent | 4672e87c03d8c48bc30646506af87275ed073e2b (diff) | |
download | ruby-dfb6f63899a14f35f2f25bcb3a1871a77d9044c6.tar.gz ruby-dfb6f63899a14f35f2f25bcb3a1871a77d9044c6.tar.xz ruby-dfb6f63899a14f35f2f25bcb3a1871a77d9044c6.zip |
* array.c (rb_ary_unshift_m): need to check number of arguments.
[ruby-talk:74189]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -427,7 +427,12 @@ rb_ary_unshift_m(argc, argv, ary) VALUE ary; { long len = RARRAY(ary)->len; - + + if (argc < 0) { + rb_raise(rb_eArgError, "negative number of arguments"); + } + if (argc == 0) return ary; + /* make rooms by setting the last item */ rb_ary_store(ary, len + argc - 1, Qnil); |