summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-03-11 16:15:14 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-03-11 16:15:14 +0000
commit8f14847366d5e47ad5bde75b84f836177f11ec07 (patch)
tree9bdf1543399be56c07a2684236a7e9a339f5ad83 /array.c
parent83c017d7af594df9e10a1ba5fbccb063f491bb25 (diff)
* array.c (rb_ary_combination): argument check before creating
Enumerator. * array.c (rb_ary_permutation): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'array.c')
-rw-r--r--array.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/array.c b/array.c
index 7e9dcfa073..41a94783fb 100644
--- a/array.c
+++ b/array.c
@@ -3030,8 +3030,8 @@ rb_ary_permutation(int argc, VALUE *argv, VALUE ary)
VALUE num;
long r, n, i;
- RETURN_ENUMERATOR(ary, argc, argv); /* Return enumerator if no block */
n = RARRAY_LEN(ary); /* Array length */
+ RETURN_ENUMERATOR(ary, argc, argv); /* Return enumerator if no block */
rb_scan_args(argc, argv, "01", &num);
r = NIL_P(num) ? n : NUM2LONG(num); /* Permutation size from argument */
@@ -3111,8 +3111,8 @@ rb_ary_combination(VALUE ary, VALUE num)
{
long n, i, len;
- RETURN_ENUMERATOR(ary, 1, &num);
n = NUM2LONG(num);
+ RETURN_ENUMERATOR(ary, 1, &num);
len = RARRAY_LEN(ary);
if (n < 0 || len < n) {
/* yield nothing */