diff options
Diffstat (limited to 'src/analysis/routine.c')
-rw-r--r-- | src/analysis/routine.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/analysis/routine.c b/src/analysis/routine.c index 7a191c9..d52b74a 100644 --- a/src/analysis/routine.c +++ b/src/analysis/routine.c @@ -48,6 +48,7 @@ struct _GBinRoutine GDataType *namespace; /* Espace de noms / classe */ char *name; /* Désignation humaine */ GDataType *full_name; /* Désignation très complète */ + char *long_name; /* Désignation très complète ??*/ GBinVariable **args; /* Arguments de la routines */ size_t args_count; /* Nombre d'arguments */ @@ -421,7 +422,7 @@ void g_binary_routine_set_name(GBinRoutine *routine, char *name) * * ******************************************************************************/ -const char *g_binary_routine_get_name(const GBinRoutine *routine) +const char *g_binary_routine_get_name(GBinRoutine *routine) { if (routine->name == NULL && routine->full_name != NULL) g_binary_routine_set_name(routine, g_data_type_to_string(routine->full_name)); @@ -434,6 +435,40 @@ const char *g_binary_routine_get_name(const GBinRoutine *routine) /****************************************************************************** * * * Paramètres : routine = routine à mettre à jour. * +* * +* Description : Fournit le nom long et humain d'une routine. * +* * +* Retour : Désignation humainement lisible ou NULL si non définie. * +* * +* Remarques : - * +* * +******************************************************************************/ + +const char *g_binary_routine_get_long_name(GBinRoutine *routine) +{ + if (routine->long_name == NULL) + { + if (routine->namespace != NULL) + { + routine->long_name = strdup(""); + routine->long_name = g_data_type_to_string(routine->namespace); + routine->long_name = stradd(routine->long_name, "." /* FIXME */); + } + else + routine->long_name = strdup(""); + + routine->long_name = stradd(routine->long_name, g_binary_routine_get_name(routine)); + + } + + return routine->long_name; + +} + + +/****************************************************************************** +* * +* Paramètres : routine = routine à mettre à jour. * * type = désignation complète du nom de la routine. * * * * Description : Définit de façon indirecte le nom humain d'une routine. * |