summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--array.c4
-rw-r--r--version.h6
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 187e6f97db..e47ec0686e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Mar 11 23:38:39 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * array.c (rb_ary_combination): argument check before creating
+ Enumerator.
+
+ * array.c (rb_ary_permutation): ditto.
+
Tue Mar 11 19:48:09 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* numeric.c (fix_coerce): try conversion before type check.
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 */
diff --git a/version.h b/version.h
index 006e85c65c..fb3967317e 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2008-03-11"
+#define RUBY_RELEASE_DATE "2008-03-12"
#define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20080311
+#define RUBY_RELEASE_CODE 20080312
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 3
-#define RUBY_RELEASE_DAY 11
+#define RUBY_RELEASE_DAY 12
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];