mie: ir: walk: walk is no longer recursive by default

This commit is contained in:
2026-01-18 20:27:55 +00:00
parent c014895051
commit d335cd9823
2 changed files with 8 additions and 4 deletions

View File

@@ -19,9 +19,11 @@ enum mie_walker_flags {
MIE_WALKER_F_FORWARD = 0x00u,
MIE_WALKER_F_BACKWARD = 0x02u,
MIE_WALKER_F_INCLUDE_OPS = 0x04u,
MIE_WALKER_F_INCLUDE_REGIONS = 0x08u,
MIE_WALKER_F_INCLUDE_BLOCKS = 0x10u,
MIE_WALKER_F_RECURSIVE = 0x04u,
MIE_WALKER_F_INCLUDE_OPS = 0x08u,
MIE_WALKER_F_INCLUDE_REGIONS = 0x10u,
MIE_WALKER_F_INCLUDE_BLOCKS = 0x20u,
};
struct mie_walker_item {

View File

@@ -293,7 +293,9 @@ static enum mie_status step(struct mie_walker *walker)
return MIE_ERR_NO_DATA;
}
schedule_children(walker, cur);
if (walker->w_flags & MIE_WALKER_F_RECURSIVE || cur->i_depth == 0) {
schedule_children(walker, cur);
}
b_queue_delete(&walker->w_sched, &cur->i_entry);
free(cur);