From: ewt Date: Tue, 6 Aug 1996 20:24:27 +0000 (+0000) Subject: added newtLabelSetText() X-Git-Tag: v0-9~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce63478fc3026730d94fd23e4996b42269c3f28e;p=thirdparty%2Fnewt.git added newtLabelSetText() --- diff --git a/label.c b/label.c index 1b3df19..d882b1d 100644 --- a/label.c +++ b/label.c @@ -7,6 +7,7 @@ struct label { char * text; + int length; }; static void labelDraw(newtComponent co); @@ -34,11 +35,30 @@ newtComponent newtLabel(int left, int top, char * text) { co->left = left; co->takesFocus = 0; + la->length = strlen(text); la->text = strdup(text); return co; } +void newtLabelSetText(newtComponent co, char * text) { + int newLength; + struct label * la = co->data; + + newLength = strlen(text); + if (newLength <= la->length) { + memset(la->text, ' ', la->length); + memcpy(la->text, text, newLength); + } else { + free(la->text); + la->text = strdup(text); + la->length = newLength; + co->width = newLength; + } + + labelDraw(co); +} + static void labelDraw(newtComponent co) { struct label * la = co->data;