}
static void walk_declarations(const entity_t* entity,
- const entity_t* const end,
+ const entity_t* const last,
statement_callback const callback,
void *const env)
{
- for (; entity != end; entity = entity->base.next) {
+ for (; entity != NULL; entity = entity->base.next) {
/* we only look at variables */
if (entity->kind != ENTITY_VARIABLE)
continue;
if (initializer != NULL) {
walk_initializer(initializer, callback, env);
}
+
+ if (entity == last)
+ break;
}
}
case STATEMENT_DECLARATION:
walk_declarations(stmt->declaration.declarations_begin,
- stmt->declaration.declarations_end->base.next,
- callback, env);
+ stmt->declaration.declarations_end, callback, env);
return;
case STATEMENT_MS_TRY: