summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/instriter.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/arch/instriter.c b/src/arch/instriter.c
index d968ba8..a603383 100644
--- a/src/arch/instriter.c
+++ b/src/arch/instriter.c
@@ -150,6 +150,16 @@ void delete_instruction_iterator(instr_iter_t *iter)
void restrict_instruction_iterator(instr_iter_t *iter, const mrange_t *range)
{
+ instr_iter_t *new; /* Itérateur actualisé */
+
+ new = g_arch_processor_get_iter_from_address(iter->proc, get_mrange_addr(range));
+
+ if (new)
+ {
+ iter->index = new->index;
+ delete_instruction_iterator(new);
+ }
+
copy_mrange(&iter->restriction, range);
iter->is_restricted = true;