diff options
-rw-r--r-- | class.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1349,7 +1349,7 @@ class_descendants_recursive(VALUE klass, VALUE v) struct subclass_traverse_data *data = (struct subclass_traverse_data *) v; if (BUILTIN_TYPE(klass) == T_CLASS && !FL_TEST(klass, FL_SINGLETON)) { - if (data->buffer && (data->count < data->maxcount || data->maxcount == -1)) { + if (data->buffer && data->count < data->maxcount) { data->buffer[data->count] = klass; } data->count++; @@ -1383,7 +1383,7 @@ rb_class_descendants(VALUE klass) // estimate the count of subclasses rb_class_foreach_subclass(klass, class_descendants_recursive, (VALUE) &data); - // this allocation may cause GC which may reduce the subclasses + // the following allocation may cause GC which may change the number of subclasses data.buffer = ALLOC_N(VALUE, data.count); data.maxcount = data.count; data.count = 0; |