summaryrefslogtreecommitdiff
path: root/src/analysis/line_code.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/line_code.c')
-rw-r--r--src/analysis/line_code.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/analysis/line_code.c b/src/analysis/line_code.c
index 4ceabec..8f9f925 100644
--- a/src/analysis/line_code.c
+++ b/src/analysis/line_code.c
@@ -62,7 +62,7 @@ static void g_code_line_init(GCodeLine *);
void g_code_line_get_binary_len(GCodeLine *, off_t *);
/* Ajoute à un texte GTK le contenu de la ligne de code. */
-static void g_code_line_add_to_gtk_buffer(GCodeLine *, MainRendering, GtkTextBuffer *, GtkTextIter *, gint [SAR_COUNT]);
+static void g_code_line_add_to_gtk_buffer(GCodeLine *, MainRendering, GtkTextBuffer *, GtkTextIter *, size_t [SAR_COUNT]);
@@ -159,7 +159,7 @@ void g_code_line_get_binary_len(GCodeLine *line, off_t *blen)
* *
******************************************************************************/
-static void g_code_line_add_to_gtk_buffer(GCodeLine *line, MainRendering rendering, GtkTextBuffer *buffer, GtkTextIter *iter, gint lengths[SAR_COUNT])
+static void g_code_line_add_to_gtk_buffer(GCodeLine *line, MainRendering rendering, GtkTextBuffer *buffer, GtkTextIter *iter, size_t lengths[SAR_COUNT])
{
bool show_address; /* Affichage de l'adresse ? */
bool show_code; /* Affichage du code brut ? */
@@ -182,6 +182,7 @@ static void g_code_line_add_to_gtk_buffer(GCodeLine *line, MainRendering renderi
msize = g_arch_processor_get_memory_size(g_rendering_options_get_processor(line->options));
len = vmpa_to_string(G_RENDERING_LINE(line)->offset, msize, address);
+ lengths[SAR_ADDRESS] = len;
g_content_exporter_insert_with_gtk_tag(G_CONTENT_EXPORTER(line), buffer, iter,
address, len, RTT_NONE);
@@ -198,6 +199,8 @@ static void g_code_line_add_to_gtk_buffer(GCodeLine *line, MainRendering renderi
content = g_binary_format_get_content(G_BIN_FORMAT(g_rendering_options_get_format(line->options)), NULL);
g_arch_instruction_get_location(line->instr, &bin_offset, &bin_len, NULL);
+ lengths[SAR_CODE] = MAX(lengths[SAR_CODE], bin_len * 3 - 1);
+
bin_code = (char *)calloc(bin_len * 3, sizeof(char));
for (i = 0; i < bin_len; i++)
@@ -224,6 +227,8 @@ static void g_code_line_add_to_gtk_buffer(GCodeLine *line, MainRendering renderi
g_rendering_options_get_format(line->options),
ASX_INTEL/*FIXME*/, buffer, iter);
+ lengths[SAR_INSTRUCTION] = MAX(lengths[SAR_INSTRUCTION], 4 /* FIXME */);
+
}