diff --git a/src/uifc/uifcd.c b/src/uifc/uifcd.c index 565d7445ab8402b786c15671492f08e615df0fb1..96584fd8c606f118351fac6f4d3625d5581ca68c 100644 --- a/src/uifc/uifcd.c +++ b/src/uifc/uifcd.c @@ -327,12 +327,14 @@ int uinput(int mode, char left, char top, char *prompt, char *outstr, if(!(kmode&K_EDIT)) outstr[0]=0; sprintf(str,"%.*s",sizeof(str)-1,outstr); - while(dialog_inputbox((char*)NULL, prompt, 9, max+4, outstr)==-2) + while(dialog_inputbox((char*)NULL, prompt, 9, max+4, str)==-2) help(); if(kmode&K_UPPER) /* convert to uppercase? */ strupr(str); - if(strcmp(str,outstr)) + if(strcmp(str,outstr)) { /* changed? */ api->changes=TRUE; + sprintf(outstr,"%.*s",max,str); + } return strlen(outstr); }