diff options
Diffstat (limited to 'src/analysis/disass/fetch.c')
-rw-r--r-- | src/analysis/disass/fetch.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/analysis/disass/fetch.c b/src/analysis/disass/fetch.c index 1a55eeb..784e103 100644 --- a/src/analysis/disass/fetch.c +++ b/src/analysis/disass/fetch.c @@ -163,8 +163,6 @@ static void g_delayed_fetching_class_init(GDelayedFetchingClass *klass) static void g_delayed_fetching_init(GDelayedFetching *fetching) { - - } @@ -384,6 +382,7 @@ static bool check_if_extra_wait_is_needed(GWorkQueue *queue, wgroup_id_t id, GPr * ctx = contexte fourni pour suivre le désassemblage. * * gid = identifiant du groupe de travail à utiliser. * * status = barre de statut avec progression à mettre à jour. * +* count = nombre d'instructions récupérées. * * * * Description : Procède au désassemblage basique d'un contenu binaire. * * * @@ -393,9 +392,9 @@ static bool check_if_extra_wait_is_needed(GWorkQueue *queue, wgroup_id_t id, GPr * * ******************************************************************************/ -GArchInstruction *disassemble_binary_content(const GLoadedBinary *binary, GProcContext *ctx, wgroup_id_t gid, GtkStatusStack *status) +GArchInstruction **disassemble_binary_content(const GLoadedBinary *binary, GProcContext *ctx, wgroup_id_t gid, GtkStatusStack *status, size_t *count) { - GArchInstruction *result; /* Instruction désassemblées */ + GArchInstruction **result; /* Instruction désassemblées */ GDelayedFetching template; /* Patron des tâches à venir */ GBinFormat *format; /* Format du fichier binaire */ GBinContent *content; /* Contenu binaire à manipuler */ @@ -462,22 +461,18 @@ GArchInstruction *disassemble_binary_content(const GLoadedBinary *binary, GProcC g_object_set_data(G_OBJECT(template.ctx), "remaining_counter", NULL); + gtk_status_stack_remove_activity(status, template.id); + /** * Troisième et dernière phase : récolte des fruits. */ - gtk_status_stack_update_activity(status, template.id, _("Collecting disassembled instructions...")); + result = collect_disassembled_instructions(gid, status, template.areas, template.count, count); - result = collect_instructions_from_mem_areas(template.areas, template.count); - - gtk_status_stack_remove_activity(status, template.id); - - /* Libérations finales */ + /* Libération finale */ g_object_unref(G_OBJECT(template.format)); - release_mem_areas(template.areas, template.count); - return result; } |