From b241d736825d0469b7716847ee4ef5de269d2423 Mon Sep 17 00:00:00 2001 From: reinelt <> Date: Thu, 11 Mar 2004 06:39:59 +0000 Subject: [lcd4linux @ 2004-03-11 06:39:58 by reinelt] big patch from Martin: - reuse filehandles - memory leaks fixed - earlier busy-flag checking with HD44780 - reuse memory for strings in RESULT and hash - netdev_fast to wavid time-consuming regex --- widget_text.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'widget_text.c') diff --git a/widget_text.c b/widget_text.c index 3c8d2dc..5840a34 100644 --- a/widget_text.c +++ b/widget_text.c @@ -1,4 +1,4 @@ -/* $Id: widget_text.c,v 1.16 2004/03/08 16:26:26 reinelt Exp $ +/* $Id: widget_text.c,v 1.17 2004/03/11 06:39:59 reinelt Exp $ * * simple text widget handling * @@ -21,6 +21,14 @@ * * * $Log: widget_text.c,v $ + * Revision 1.17 2004/03/11 06:39:59 reinelt + * big patch from Martin: + * - reuse filehandles + * - memory leaks fixed + * - earlier busy-flag checking with HD44780 + * - reuse memory for strings in RESULT and hash + * - netdev_fast to wavid time-consuming regex + * * Revision 1.16 2004/03/08 16:26:26 reinelt * re-introduced \nnn (octal) characters in strings * text widgets can have a 'update' speed of 0 which means 'never' @@ -217,7 +225,7 @@ void widget_text_update (void *Self) { WIDGET *W = (WIDGET*)Self; WIDGET_TEXT *T = W->data; - RESULT result = {0, 0.0, NULL}; + RESULT result = {0, 0, 0, NULL}; char *preval, *postval, *value; int update; @@ -411,13 +419,17 @@ int widget_text_quit (WIDGET *Self) { if (Self) { Text=Self->data; if (Self->data) { - if (Text->preval) free(Text->preval); - if (Text->postval) free(Text->postval); - if (Text->value) free(Text->value); - if (Text->buffer) free(Text->buffer); + DelTree(Text->pretree); + DelTree(Text->posttree); + DelTree(Text->tree); + if (Text->preval) free(Text->preval); + if (Text->postval) free(Text->postval); + if (Text->value) free(Text->value); + if (Text->buffer) free(Text->buffer); free (Self->data); Self->data=NULL; } + } return 0; -- cgit v1.2.3