summaryrefslogtreecommitdiff
path: root/src/glibext/gbufferline.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glibext/gbufferline.c')
-rw-r--r--src/glibext/gbufferline.c38
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. *
* *