summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--openbsd-compat/readpassphrase.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 30455a22..d43ed21f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
20010629
- (bal) Removed net_aton() since we don't use it any more
+ - (bal) Fixed _DISABLE_VPOSIX in readpassphrase.c.
20010628
- (djm) Sync openbsd-compat with -current libc
@@ -5819,4 +5820,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1339 2001/06/29 12:32:31 mouring Exp $
+$Id: ChangeLog,v 1.1340 2001/06/29 12:35:12 mouring Exp $
diff --git a/openbsd-compat/readpassphrase.c b/openbsd-compat/readpassphrase.c
index 10f0e0ed..8e578552 100644
--- a/openbsd-compat/readpassphrase.c
+++ b/openbsd-compat/readpassphrase.c
@@ -51,7 +51,9 @@ readpassphrase(prompt, buf, bufsiz, flags)
{
struct termios term;
char ch, *p, *end;
+#ifdef _POSIX_VDISABLE
u_char status;
+#endif
int echo, input, output;
sigset_t oset, nset;
@@ -86,7 +88,9 @@ readpassphrase(prompt, buf, bufsiz, flags)
/* Turn off echo if possible. */
echo = 0;
+#ifdef _POSIX_VDISABLE
status = _POSIX_VDISABLE;
+#endif
if (tcgetattr(input, &term) == 0) {
if (!(flags & RPP_ECHO_ON) && (term.c_lflag & ECHO)) {
echo = 1;
@@ -124,7 +128,11 @@ readpassphrase(prompt, buf, bufsiz, flags)
}
}
*p = '\0';
+#ifdef _POSIX_VDISABLE
if (echo || status != _POSIX_VDISABLE) {
+#else
+ if (echo) {
+#endif
if (echo) {
(void)write(output, "\n", 1);
term.c_lflag |= ECHO;