summaryrefslogtreecommitdiff
path: root/src/analysis/disass/output.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-12-09 22:06:59 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-12-09 22:06:59 (GMT)
commitc644db0ad3b1a276f2c3bf9be72026c3581dd35f (patch)
tree6d672db75ff38eb9daf9e600cdba8373f3cc7d7f /src/analysis/disass/output.c
parentc476dae9b50d6ff218e903e3f8d40ad51003fa40 (diff)
Avoided to throw comments too far by defining local columns managers.
Diffstat (limited to 'src/analysis/disass/output.c')
-rw-r--r--src/analysis/disass/output.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c
index d698c71..727c34f 100644
--- a/src/analysis/disass/output.c
+++ b/src/analysis/disass/output.c
@@ -236,12 +236,29 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form
if (cmp_vmpa(iaddr, saddr) == 0)
{
-
/* Point d'entrée ? */
if (g_binary_symbol_get_target_type(symbols[sym_index]) == STP_ENTRY_POINT)
g_buffer_line_add_flag(line, BLF_ENTRYPOINT);
+ /* Début d'un groupe bien cohérent avec les alignements ? */
+
+ switch (g_binary_symbol_get_target_type(symbols[sym_index]))
+ {
+ case STP_ROUTINE:
+ case STP_OBJECT:
+ case STP_FUNCTION:
+ case STP_ENTRY_POINT:
+ case STP_STRING:
+ case STP_RO_STRING:
+ g_buffer_line_add_flag(line, BLF_WIDTH_MANAGER);
+ break;
+
+ default:
+ break;
+
+ }
+
/* Commentaire ? */
comment = g_binary_symbol_get_comment(symbols[sym_index]);
@@ -266,7 +283,6 @@ void print_disassembled_instructions(GCodeBuffer *buffer, const GExeFormat *form
sym_index++;
-
}
}