diff options
Diffstat (limited to 'src/glibext/gbuffersegment.c')
-rw-r--r-- | src/glibext/gbuffersegment.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/glibext/gbuffersegment.c b/src/glibext/gbuffersegment.c index af77c38..3cbff1e 100644 --- a/src/glibext/gbuffersegment.c +++ b/src/glibext/gbuffersegment.c @@ -24,6 +24,7 @@ #include "gbuffersegment.h" +#include <malloc.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> @@ -561,6 +562,7 @@ char *g_buffer_segment_get_text(const GBufferSegment *segment, bool markup) { char *result; /* Description à renvoyer */ char color[7]; /* Couleur hexadécimale */ + char *valid; /* Résolution du cas simple */ if (!markup) @@ -625,7 +627,13 @@ char *g_buffer_segment_get_text(const GBufferSegment *segment, bool markup) result = stradd(result, ">"); - result = stradd(result, segment->text); + valid = strdup(segment->text); + valid = strrpl(valid, "<", "<"); + valid = strrpl(valid, "&", "&"); + + result = stradd(result, valid); + + free(valid); result = stradd(result, "</span>"); |