mie: ir: walk: walk is no longer recursive by default
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user