diff options
Diffstat (limited to 'src/analysis/disass/limit.c')
-rw-r--r-- | src/analysis/disass/limit.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/analysis/disass/limit.c b/src/analysis/disass/limit.c index 2ae7ebb..df9f23c 100644 --- a/src/analysis/disass/limit.c +++ b/src/analysis/disass/limit.c @@ -28,7 +28,7 @@ /****************************************************************************** * * * Paramètres : routine = routine dont les frontières sont à fixer. * -* prev = routine précédente dans les traitements. * +* next = adresse du prochain symbole présent. * * proc = ensemble d'instructions désassemblées. * * portions = ensemble de couches binaires bornées. * * * @@ -40,7 +40,7 @@ * * ******************************************************************************/ -void compute_routine_limit(GBinRoutine *routine, GBinRoutine *prev, GArchProcessor *proc, GBinPortion *portions) +void compute_routine_limit(GBinRoutine *routine, const vmpa2t *next, GArchProcessor *proc, GBinPortion *portions) { const mrange_t *range; /* Emplacement courant */ vmpa2t addr; /* Adresse à conserver */ @@ -70,14 +70,9 @@ void compute_routine_limit(GBinRoutine *routine, GBinRoutine *prev, GArchProcess g_object_unref(G_OBJECT(start)); - /* Si on peut se raccrocher à la routine suivante... */ - if (prev != NULL) - { - range = g_binary_routine_get_range(prev); - - diff = compute_vmpa_diff(&addr, get_mrange_addr(range)); - - } + /* Si on peut se raccrocher à la prochaine adresse... */ + if (next != NULL) + diff = compute_vmpa_diff(&addr, next); /* Sinon on va jusqu'à la fin de la zone ! */ else |