summaryrefslogtreecommitdiff
path: root/src/analysis/disass/fetch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/fetch.c')
-rw-r--r--src/analysis/disass/fetch.c19
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;
}