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_FORWARD = 0x00u,
|
||||||
MIE_WALKER_F_BACKWARD = 0x02u,
|
MIE_WALKER_F_BACKWARD = 0x02u,
|
||||||
|
|
||||||
MIE_WALKER_F_INCLUDE_OPS = 0x04u,
|
MIE_WALKER_F_RECURSIVE = 0x04u,
|
||||||
MIE_WALKER_F_INCLUDE_REGIONS = 0x08u,
|
|
||||||
MIE_WALKER_F_INCLUDE_BLOCKS = 0x10u,
|
MIE_WALKER_F_INCLUDE_OPS = 0x08u,
|
||||||
|
MIE_WALKER_F_INCLUDE_REGIONS = 0x10u,
|
||||||
|
MIE_WALKER_F_INCLUDE_BLOCKS = 0x20u,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mie_walker_item {
|
struct mie_walker_item {
|
||||||
|
|||||||
@@ -293,7 +293,9 @@ static enum mie_status step(struct mie_walker *walker)
|
|||||||
return MIE_ERR_NO_DATA;
|
return MIE_ERR_NO_DATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (walker->w_flags & MIE_WALKER_F_RECURSIVE || cur->i_depth == 0) {
|
||||||
schedule_children(walker, cur);
|
schedule_children(walker, cur);
|
||||||
|
}
|
||||||
|
|
||||||
b_queue_delete(&walker->w_sched, &cur->i_entry);
|
b_queue_delete(&walker->w_sched, &cur->i_entry);
|
||||||
free(cur);
|
free(cur);
|
||||||
|
|||||||
Reference in New Issue
Block a user