From bb3b8f122f25ffa90f5fdb64a079d7923d033ac7 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Sun, 24 Sep 2006 05:03:27 +0000
Subject: [PATCH] Add uifcinput() function (used to get password when blank)

---
 src/syncterm/uifcinit.c | 25 +++++++++++++++++++++++++
 src/syncterm/uifcinit.h |  1 +
 2 files changed, 26 insertions(+)

diff --git a/src/syncterm/uifcinit.c b/src/syncterm/uifcinit.c
index 205acc0120..0dbfae401f 100644
--- a/src/syncterm/uifcinit.c
+++ b/src/syncterm/uifcinit.c
@@ -95,6 +95,31 @@ void uifcmsg(char *msg, char *helpbuf)
 	}
 }
 
+void uifcinput(char *title, int len, char *msg, int mode, char *helpbuf)
+{
+	int i;
+	char	*buf;
+	struct	text_info txtinfo;
+
+    gettextinfo(&txtinfo);
+	i=uifc_initialized;
+	if(!i) {
+		buf=(char *)alloca(txtinfo.screenheight*txtinfo.screenwidth*2);
+		gettext(1,1,txtinfo.screenwidth,txtinfo.screenheight,buf);
+	}
+	init_uifc(FALSE, FALSE);
+	if(uifc_initialized) {
+		uifc.helpbuf=helpbuf;
+		uifc.input(WIN_MID|WIN_SAV, 0, 0, title, msg, len, mode);
+	}
+	else
+		fprintf(stderr,"%s\n",msg);
+	if(!i) {
+		uifcbail();
+		puttext(1,1,txtinfo.screenwidth,txtinfo.screenheight,buf);
+	}
+}
+
 int confirm(char *msg, char *helpbuf)
 {
 	int i;
diff --git a/src/syncterm/uifcinit.h b/src/syncterm/uifcinit.h
index e34e029782..bd69cc6823 100644
--- a/src/syncterm/uifcinit.h
+++ b/src/syncterm/uifcinit.h
@@ -9,6 +9,7 @@ extern	uifcapi_t uifc; /* User Interface (UIFC) Library API */
 int	init_uifc(BOOL scrn, BOOL bottom);
 void uifcbail(void);
 void uifcmsg(char *msg, char *helpbuf);
+void uifcinput(char *title, int len, char *msg, int mode, char *helpbuf);
 int confirm(char *msg, char *helpbuf);
 
 #endif
-- 
GitLab