[前][次][番号順一覧][スレッド一覧]

ruby-changes:12647

From: nobu <ko1@a...>
Date: Mon, 3 Aug 2009 13:06:03 +0900 (JST)
Subject: [ruby-changes:12647] Ruby:r24360 (trunk): * array.c (rb_ary_{permutation,combination,product}): must not use

nobu	2009-08-03 13:05:37 +0900 (Mon, 03 Aug 2009)

  New Revision: 24360

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24360

  Log:
    * array.c (rb_ary_{permutation,combination,product}): must not use
      ary_discard on strings.

  Modified files:
    trunk/ChangeLog
    trunk/array.c

Index: array.c
===================================================================
--- array.c	(revision 24359)
+++ array.c	(revision 24360)
@@ -3748,8 +3748,8 @@
 	for (i = 0; i < n; i++) used[i] = 0; /* initialize array */
 
 	permute0(n, r, p, 0, used, ary0); /* compute and yield permutations */
-	ary_discard(t0);
-	ary_discard(t1);
+	rb_str_resize(t0, 0L);
+	rb_str_resize(t1, 0L);
 	RBASIC(ary0)->klass = rb_cArray;
     }
     return ary;
@@ -3839,7 +3839,7 @@
 		stack[lev--]++;
 	    } while (lev && (stack[lev+1]+n == len+lev+1));
 	}
-	ary_discard(t0);
+	rb_str_resize(t0, 0L);
 	ary_discard(cc);
     }
     return ary;
@@ -3918,8 +3918,8 @@
 	    counters[m]++;
 	}
     }
-    ary_discard(t0);
-    ary_discard(t1);
+    rb_str_resize(t0, 0L);
+    rb_str_resize(t1, 0L);
 
     return result;
 }
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 24359)
+++ ChangeLog	(revision 24360)
@@ -1,3 +1,8 @@
+Mon Aug  3 13:05:22 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* array.c (rb_ary_{permutation,combination,product}): must not use
+	  ary_discard on strings.
+
 Mon Aug  3 00:32:00 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* random.c (rb_random_int): arguments have to be converted to

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]