diff options
Diffstat (limited to 'src/analysis/line_comment.c')
-rw-r--r-- | src/analysis/line_comment.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/analysis/line_comment.c b/src/analysis/line_comment.c index 1d37613..331bd19 100644 --- a/src/analysis/line_comment.c +++ b/src/analysis/line_comment.c @@ -58,7 +58,7 @@ static void g_comment_line_class_init(GCommentLineClass *); static void g_comment_line_init(GCommentLine *); /* Met à jour la ligne de représentation de commentaires. */ -void g_comment_line_refresh_markup(GCommentLine *); +void g_comment_line_refresh_markup(GCommentLine *, LinesMainOwner); @@ -112,7 +112,8 @@ static void g_comment_line_init(GCommentLine *line) /****************************************************************************** * * -* Paramètres : line = ligne de représentation à actualiser. * +* Paramètres : line = ligne de représentation à actualiser. * +* owner = support effectif final des lignes de code. * * * * Description : Met à jour la ligne de représentation de commentaires. * * * @@ -122,11 +123,12 @@ static void g_comment_line_init(GCommentLine *line) * * ******************************************************************************/ -void g_comment_line_refresh_markup(GCommentLine *line) +void g_comment_line_refresh_markup(GCommentLine *line, LinesMainOwner owner) { size_t len; /* Taille du contenu */ char *content; /* Contenu réellement imprimé */ char buffer[CODE_BUFFER_LEN]; /* Zone tampon à utiliser */ + const off_t *max_bin_len; /* Taille de ligne max/globale */ size_t clen; /* Taille du commentaire */ len = strlen("<tt>") + 1; @@ -176,8 +178,10 @@ void g_comment_line_refresh_markup(GCommentLine *line) if (line->options->show_code) { + max_bin_len = &G_RENDERING_LINE(line)->max_bin_len[owner]; + clen = (line->options->show_address ? strlen("\t") : 0); - clen += G_RENDERING_LINE(line)->max_bin_len; + clen += *max_bin_len; content = (char *)realloc(content, (len + clen) * sizeof(char)); @@ -187,9 +191,9 @@ void g_comment_line_refresh_markup(GCommentLine *line) len += strlen("\t"); } - memset(&content[len - 1], G_RENDERING_LINE(line)->type == RLT_PROTOTYPE ? '-' : ' ', - G_RENDERING_LINE(line)->max_bin_len); - len += G_RENDERING_LINE(line)->max_bin_len; + memset(&content[len - 1], + G_RENDERING_LINE(line)->type == RLT_PROTOTYPE ? '-' : ' ', *max_bin_len); + len += *max_bin_len; content[len - 1] = '\0'; @@ -221,7 +225,7 @@ void g_comment_line_refresh_markup(GCommentLine *line) content = (char *)realloc(content, len * sizeof(char)); strcat(content, "</tt>"); - pango_layout_set_markup(G_RENDERING_LINE(line)->layout, content, len - 1); + pango_layout_set_markup(G_RENDERING_LINE(line)->layout[owner], content, len - 1); free(content); |