diff options
Diffstat (limited to 'plugins/fmtp')
| -rw-r--r-- | plugins/fmtp/parser.c | 26 | ||||
| -rw-r--r-- | plugins/fmtp/parser.h | 3 | 
2 files changed, 11 insertions, 18 deletions
diff --git a/plugins/fmtp/parser.c b/plugins/fmtp/parser.c index 8fc693f..ea1e5d8 100644 --- a/plugins/fmtp/parser.c +++ b/plugins/fmtp/parser.c @@ -33,7 +33,7 @@  /* Effectue l'interprétation d'une définition de champ. */ -static bool parse_field_definition(const fmt_field_def *, GBinFormat *, vmpa2t *, void *); +static bool parse_field_definition(const fmt_field_def *, GBinFormat *, GPreloadInfo *, vmpa2t *, void *); @@ -41,6 +41,7 @@ static bool parse_field_definition(const fmt_field_def *, GBinFormat *, vmpa2t *  *                                                                             *  *  Paramètres  : def    = définition de champ à considérer.                   *  *                format = description de l'exécutable à compléter.            * +*                info   = informations à constituer en avance de phase.       *  *                pos    = tête de lecture pour les données.                   *  *                data   = infos complémentaires éventuellement fournies.      *  *                                                                             * @@ -52,7 +53,7 @@ static bool parse_field_definition(const fmt_field_def *, GBinFormat *, vmpa2t *  *                                                                             *  ******************************************************************************/ -static bool parse_field_definition(const fmt_field_def *def, GBinFormat *format, vmpa2t *pos, void *data) +static bool parse_field_definition(const fmt_field_def *def, GBinFormat *format, GPreloadInfo *info, vmpa2t *pos, void *data)  {      GBinContent *content;                   /* Contenu binaire à lire      */      SourceEndian endian;                    /* Boutisme utilisé            */ @@ -66,10 +67,6 @@ static bool parse_field_definition(const fmt_field_def *def, GBinFormat *format,      uint64_t raw;                           /* Valeur brute à étudier      */      const comment_part *part;               /* Accès plus direct           */ - -    GBinSymbol *symbol;                     /* Symbole à intégrer          */ - -      /* Lecture */      content = g_binary_format_get_content(format); @@ -193,17 +190,11 @@ static bool parse_field_definition(const fmt_field_def *def, GBinFormat *format,      } -    /* Insertion */ +    /* Insertions */ -    symbol = g_binary_symbol_new(STP_DATA); +    g_preload_info_add_instruction(info, instr); -    g_binary_symbol_attach_instruction(symbol, instr); -    g_binary_symbol_set_comment(symbol, comment); - -    result = g_binary_format_add_symbol(format, symbol); - -    if (!result) -        g_object_unref(G_OBJECT(instr)); +    g_preload_info_add_comment(info, comment);   pfd_exit: @@ -219,6 +210,7 @@ static bool parse_field_definition(const fmt_field_def *def, GBinFormat *format,  *  Paramètres  : defs   = liste de définitions à traiter.                     *  *                count  = taille de cette liste.                              *  *                format = description de l'exécutable à compléter.            * +*                info   = informations à constituer en avance de phase.       *  *                pos    = tête de lecture pour les données.                   *  *                data   = infos complémentaires éventuellement fournies.      *  *                                                                             * @@ -230,7 +222,7 @@ static bool parse_field_definition(const fmt_field_def *def, GBinFormat *format,  *                                                                             *  ******************************************************************************/ -bool parse_field_definitions(const fmt_field_def *defs, size_t count, GBinFormat *format, vmpa2t *pos, void *data) +bool parse_field_definitions(const fmt_field_def *defs, size_t count, GBinFormat *format, GPreloadInfo *info, vmpa2t *pos, void *data)  {      bool result;                            /* Bilan à retourner           */      size_t i;                               /* Boucle de parcours          */ @@ -238,7 +230,7 @@ bool parse_field_definitions(const fmt_field_def *defs, size_t count, GBinFormat      result = true;      for (i = 0; i < count && result; i++) -        result = parse_field_definition(defs + i, format, pos, data); +        result = parse_field_definition(defs + i, format, info, pos, data);      return result; diff --git a/plugins/fmtp/parser.h b/plugins/fmtp/parser.h index 0d5dff3..310ff37 100644 --- a/plugins/fmtp/parser.h +++ b/plugins/fmtp/parser.h @@ -29,6 +29,7 @@  #include <format/format.h> +#include <format/preload.h>  #include "def.h" @@ -36,7 +37,7 @@  /* Lance l'interprétation d'une série de définitions de champs. */ -bool parse_field_definitions(const fmt_field_def *, size_t, GBinFormat *, vmpa2t *, void *); +bool parse_field_definitions(const fmt_field_def *, size_t, GBinFormat *, GPreloadInfo *, vmpa2t *, void *);  | 
