From a63de490979d59c765d22304f7e1f1ff9b4c4e6b Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Thu, 21 Mar 2002 19:15:44 +0000
Subject: [PATCH] Fixed K_UPPER mode and max length support in uinput().

---
 src/uifc/uifcd.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/uifc/uifcd.c b/src/uifc/uifcd.c
index 565d7445ab..96584fd8c6 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);
 }
 
-- 
GitLab