summaryrefslogtreecommitdiff
path: root/src/analysis/routine.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/routine.c')
-rw-r--r--src/analysis/routine.c41
1 files changed, 24 insertions, 17 deletions
diff --git a/src/analysis/routine.c b/src/analysis/routine.c
index 422e7de..99f1b28 100644
--- a/src/analysis/routine.c
+++ b/src/analysis/routine.c
@@ -868,25 +868,32 @@ char *g_binary_routine_to_string(const GBinRoutine *routine, bool include)
else if (routine->name != NULL)
name = routine->name;
- switch (routine->type)
- {
- case RTT_CONSTRUCTOR:
- result = stradd(result, name);
- result = stradd(result, routine->ns_sep);
- result = stradd(result, name);
- break;
+ else
+ name = NULL;
- case RTT_DESTRUCTOR:
- result = stradd(result, name);
- result = stradd(result, routine->ns_sep);
- result = stradd(result, "~");
- result = stradd(result, name);
- break;
+ if (name != NULL)
+ {
+ switch (routine->type)
+ {
+ case RTT_CONSTRUCTOR:
+ result = stradd(result, name);
+ result = stradd(result, routine->ns_sep);
+ result = stradd(result, name);
+ break;
+
+ case RTT_DESTRUCTOR:
+ result = stradd(result, name);
+ result = stradd(result, routine->ns_sep);
+ result = stradd(result, "~");
+ result = stradd(result, name);
+ break;
+
+ default: /* Pour gcc */
+ case RTT_CLASSIC:
+ result = stradd(result, name);
+ break;
- default: /* Pour gcc */
- case RTT_CLASSIC:
- result = stradd(result, name);
- break;
+ }
}