diff options
Diffstat (limited to 'src/format/format.c')
-rw-r--r-- | src/format/format.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/format/format.c b/src/format/format.c index 8395c6e..387894c 100644 --- a/src/format/format.c +++ b/src/format/format.c @@ -52,6 +52,9 @@ static void g_binary_format_init(GBinFormat *); /* Retire un symbole de la collection du format binaire. */ static void _g_binary_format_remove_symbol(GBinFormat *, size_t); +/* Supprime les éventuels doublons au sein des symboles. */ +static void g_binary_format_delete_duplicated_symbols(GBinFormat *); + /* Recherche le symbole associé à une adresse. */ static bool _g_binary_format_find_symbol(const GBinFormat *, const vmpa2t *, __compar_fn_t, GBinSymbol **); @@ -101,6 +104,30 @@ static void g_binary_format_init(GBinFormat *format) } +/****************************************************************************** +* * +* Paramètres : format = instance à traiter. * +* * +* Description : Effectue les ultimes opérations de chargement d'un binaire. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_binary_format_complete_loading(GBinFormat *format) +{ + handle_binary_format(PGA_FORMAT_LOADER_LAST, format); + + g_binary_format_delete_duplicated_symbols(format); + + return true; + +} + + + /* FIXME : g_rw_lock_clear(&format->syms_lock);*/ @@ -431,7 +458,7 @@ void g_binary_format_sort_symbols(GBinFormat *format) * * ******************************************************************************/ -void g_binary_format_delete_duplicated_symbols(GBinFormat *format) +static void g_binary_format_delete_duplicated_symbols(GBinFormat *format) { size_t i; /* Boucle de parcours */ const mrange_t *range; /* Emplacement à consulter */ |