summaryrefslogtreecommitdiff
path: root/src/analysis/disass/routines.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/routines.c')
-rw-r--r--src/analysis/disass/routines.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/analysis/disass/routines.c b/src/analysis/disass/routines.c
index a9414fc..6fd9279 100644
--- a/src/analysis/disass/routines.c
+++ b/src/analysis/disass/routines.c
@@ -40,8 +40,7 @@ struct _GRoutinesStudy
GArchProcessor *proc; /* Processeurs avec ses instr. */
- mrange_t *exe_ranges; /* Liste de zones exécutables */
- size_t exe_count; /* Nombre de ces zones */
+ GBinPortion *portions; /* Couches de binaire bornées */
GBinRoutine **routines; /* Liste de routines à traiter */
size_t count; /* Taille de cette liste */
@@ -147,6 +146,8 @@ static void g_routines_study_init(GRoutinesStudy *study)
static void g_routines_study_dispose(GRoutinesStudy *study)
{
+ g_object_unref(G_OBJECT(study->portions));
+
G_OBJECT_CLASS(g_routines_study_parent_class)->dispose(G_OBJECT(study));
}
@@ -174,6 +175,7 @@ static void g_routines_study_finalize(GRoutinesStudy *study)
/******************************************************************************
* *
* Paramètres : proc = ensemble d'instructions désassemblées. *
+* portions = ensemble de couches binaires bornées. *
* routines = prototypes existants à insérer. *
* count = quantité de ces prototypes. *
* begin = point de départ du parcours de liste. *
@@ -189,7 +191,7 @@ static void g_routines_study_finalize(GRoutinesStudy *study)
* *
******************************************************************************/
-GRoutinesStudy *g_routines_study_new(GArchProcessor *proc, mrange_t *exe_ranges, size_t exe_count, GBinRoutine **routines, size_t count, size_t begin, size_t end, activity_id_t id, rtn_fallback_cb fallback)
+GRoutinesStudy *g_routines_study_new(GArchProcessor *proc, GBinPortion *portions, GBinRoutine **routines, size_t count, size_t begin, size_t end, activity_id_t id, rtn_fallback_cb fallback)
{
GRoutinesStudy *result; /* Tâche à retourner */
@@ -197,8 +199,8 @@ GRoutinesStudy *g_routines_study_new(GArchProcessor *proc, mrange_t *exe_ranges,
result->proc = proc;
- result->exe_ranges = exe_ranges;
- result->exe_count = exe_count;
+ result->portions = portions;
+ g_object_ref(G_OBJECT(portions));
result->routines = routines;
result->count = count;
@@ -267,7 +269,7 @@ void g_routines_study_compute_limits(GRoutinesStudy *study, size_t index)
else
next = NULL;
- compute_routine_limit(routine, next, study->proc, study->exe_ranges, study->exe_count);
+ compute_routine_limit(routine, next, study->proc, study->portions);
}