mruby-random: rename a conflicting local variable

This commit is contained in:
Yukihiro "Matz" Matsumoto
2024-01-08 19:12:55 +09:00
parent 27c2f9ac38
commit 05e9fa34af
+4 -4
View File
@@ -349,20 +349,20 @@ mrb_ary_sample(mrb_state *mrb, mrb_value ary)
if (n > len) n = len;
result = mrb_ary_new_capa(mrb, n);
for (mrb_int i=0; i<n; i++) {
mrb_int r;
mrb_int idx;
for (;;) {
retry:
r = rand_i(random, len);
idx = rand_i(random, len);
for (mrb_int j=0; j<i; j++) {
if (mrb_integer(RARRAY_PTR(result)[j]) == r) {
if (mrb_integer(RARRAY_PTR(result)[j]) == idx) {
goto retry; /* retry if duplicate */
}
}
break;
}
mrb_ary_push(mrb, result, mrb_int_value(mrb, r));
mrb_ary_push(mrb, result, mrb_int_value(mrb, idx));
}
for (mrb_int i=0; i<n; i++) {
mrb_int idx = mrb_integer(RARRAY_PTR(result)[i]);