diff options
Diffstat (limited to 'src/glibext/gbufferline.c')
-rw-r--r-- | src/glibext/gbufferline.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/glibext/gbufferline.c b/src/glibext/gbufferline.c index e32e450..08f5ae7 100644 --- a/src/glibext/gbufferline.c +++ b/src/glibext/gbufferline.c @@ -24,9 +24,12 @@ #include "gbufferline.h" +#include <string.h> #include <gtk/gtk.h> /* Récupération du langage par défaut ; FIXME ? */ +#include "../common/extstr.h" + #include <malloc.h> /* FIXME : à virer */ @@ -495,6 +498,41 @@ void g_buffer_line_insert_text(GBufferLine *line, BufferLineColumn column, const /****************************************************************************** * * +* Paramètres : line = ligne à venir consulter. * +* * +* Description : Donne le texte représenté par une ligne de tampon. * +* * +* Retour : Texte à libérer de la mémoire après usage. * +* * +* Remarques : - * +* * +******************************************************************************/ + +char *g_buffer_line_get_text(const GBufferLine *line) +{ + char *result; /* Construction à retourner */ + BufferLineColumn i; /* Boucle de parcours #1 */ + size_t j; /* Boucle de parcours #2 */ + + result = NULL; + + for (i = BLC_ASSEMBLY_HEAD; i < BLC_COUNT; i++) + for (j = 0; j < line->columns[i].count; j++) + if (result == NULL) + { + result = strdup(g_buffer_segment_get_text(line->columns[i].segments[j])); + result = stradd(result, " "); + } + else + result = stradd(result, g_buffer_segment_get_text(line->columns[i].segments[j])); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : line = ligne à venir compléter. * * index = index de la colonne visée par la procédure. * * * |