]> git.wincent.com - wikitext.git/blobdiff - ext/parser.c
Improve efficiency of _Wikitext_pop_all_from_stack
[wikitext.git] / ext / parser.c
index 808b5805ea92732721693c026e543e29e2526e31..828d2bc0e05b9cbf2cd432b2b6a1067fbd0b598e 100644 (file)
@@ -491,7 +491,7 @@ void _Wikitext_pop_from_stack_up_to(parser_t *parser, VALUE target, int item, VA
 
 void _Wikitext_pop_all_from_stack(parser_t *parser, VALUE target)
 {
 
 void _Wikitext_pop_all_from_stack(parser_t *parser, VALUE target)
 {
-    while (!NO_ITEM(ary_entry(parser->scope, -1)))
+    for (int i = 0, max = parser->scope->count; i < max; i++)
         _Wikitext_pop_from_stack(parser, target);
 }
 
         _Wikitext_pop_from_stack(parser, target);
 }