diff options
Diffstat (limited to 'src/analysis/disass')
-rw-r--r-- | src/analysis/disass/block.c | 3 | ||||
-rw-r--r-- | src/analysis/disass/disassembler.c | 12 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/analysis/disass/block.c b/src/analysis/disass/block.c index d314b5a..74aaf66 100644 --- a/src/analysis/disass/block.c +++ b/src/analysis/disass/block.c @@ -36,6 +36,7 @@ #include "../../common/extstr.h" #include "../../core/params.h" #include "../../glibext/gbinarycursor.h" +#include "../../gtkext/gtkblockdisplay.h" @@ -572,7 +573,7 @@ static char *g_basic_block_build_tooltip(const GBasicBlock *block) if (label != NULL) { - cache = g_buffer_cache_new(NULL); + cache = g_buffer_cache_new(NULL, DLC_COUNT); g_buffer_cache_append(cache, G_LINE_GENERATOR(symbol), BLF_NONE); line = g_buffer_cache_find_line_by_index(cache, 0); diff --git a/src/analysis/disass/disassembler.c b/src/analysis/disass/disassembler.c index af67fdf..9e4cd3e 100644 --- a/src/analysis/disass/disassembler.c +++ b/src/analysis/disass/disassembler.c @@ -39,8 +39,10 @@ #include "../human/asm/lang.h" #include "../../arch/storage.h" #include "../../core/global.h" +#include "../../core/params.h" #include "../../core/nproc.h" #include "../../glibext/generators/prologue.h" +#include "../../gtkext/gtkblockdisplay.h" #include "../../plugins/pglist.h" @@ -388,6 +390,8 @@ void output_disassembly(GLoadedBinary *binary, GProcContext *context, GtkStatusS GBinFormat *format; /* Format associé au binaire */ GBinContent *content; /* Contenu bianire manipulé */ GCodingLanguage *lang; /* Langage de sortie préféré */ + int offset; /* Décalage des étiquettes */ + GWidthTracker *tracker; /* Gestionnaire de largeurs */ char **text; /* Contenu brute à imprimer */ char *desc; /* Désignation du binaire */ const gchar *checksum; /* Identifiant de binaire */ @@ -401,7 +405,13 @@ void output_disassembly(GLoadedBinary *binary, GProcContext *context, GtkStatusS content = g_known_format_get_content(G_KNOWN_FORMAT(format)); lang = g_asm_language_new(); - *cache = g_buffer_cache_new(content); + *cache = g_buffer_cache_new(content, DLC_COUNT); + + g_generic_config_get_value(get_main_configuration(), MPK_LABEL_OFFSET, &offset); + + tracker = g_buffer_cache_get_width_tracker(*cache); + g_width_tracker_set_column_min_width(tracker, DLC_ASSEMBLY_LABEL, offset); + g_object_unref(G_OBJECT(tracker)); /** * Impression du prologue. |