diff options
Diffstat (limited to 'src/analysis/scan/patterns/modifiers/plain.c')
| -rw-r--r-- | src/analysis/scan/patterns/modifiers/plain.c | 35 | 
1 files changed, 35 insertions, 0 deletions
diff --git a/src/analysis/scan/patterns/modifiers/plain.c b/src/analysis/scan/patterns/modifiers/plain.c index 9ed0d7b..ad09129 100644 --- a/src/analysis/scan/patterns/modifiers/plain.c +++ b/src/analysis/scan/patterns/modifiers/plain.c @@ -58,6 +58,9 @@ static char *g_scan_plain_modifier_get_name(const GScanPlainModifier *);  /* Transforme une séquence d'octets pour motif de recherche. */  static bool g_scan_plain_modifier_transform(const GScanPlainModifier *, const sized_binary_t *, size_t, sized_binary_t **, size_t *); +/* Retrouve l'origine d'une correspondance à partir d'un indice. */ +static char *g_scan_plain_modifier_get_path(const GScanPlainModifier *, size_t *); +  /* ---------------------------------------------------------------------------------- */ @@ -96,6 +99,7 @@ static void g_scan_plain_modifier_class_init(GScanPlainModifierClass *klass)      modifier->get_name = (get_scan_modifier_name_fc)g_scan_plain_modifier_get_name;      modifier->transform = (transform_scan_token_fc)g_scan_plain_modifier_transform; +    modifier->get_path = (get_modifier_path)g_scan_plain_modifier_get_path;  } @@ -252,3 +256,34 @@ static bool g_scan_plain_modifier_transform(const GScanPlainModifier *modifier,      return result;  } + + +/****************************************************************************** +*                                                                             * +*  Paramètres  : modifier = modificateur à consulter.                         * +*                index    = indice de la combinaison ciblée. [OUT]            * +*                                                                             * +*  Description : Retrouve l'origine d'une correspondance à partir d'un indice.* +*                                                                             * +*  Retour      : Version humainement lisible de la combinaison.               * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +static char *g_scan_plain_modifier_get_path(const GScanPlainModifier *modifier, size_t *index) +{ +    char *result;                           /* Combinaison à retourner     */ + +    if (*index > 0) +    { +        result = NULL; +        (*index)--; +    } + +    else +        result = strdup("plain"); + +    return result; + +}  | 
