summaryrefslogtreecommitdiff
path: root/openbsd-compat/readpassphrase.c
diff options
context:
space:
mode:
authormouring <mouring>2001-06-29 12:35:12 +0000
committermouring <mouring>2001-06-29 12:35:12 +0000
commitb12d1cd57101f97069e0a6f70042f522ed6b70ba (patch)
treeb8153d3652ba5d522199071762ea5824820c69f6 /openbsd-compat/readpassphrase.c
parent67b490fff870526a24a31c286c6694f009018c75 (diff)
downloadopenssh-b12d1cd57101f97069e0a6f70042f522ed6b70ba.tar.gz
- (bal) Fixed _DISABLE_VPOSIX in readpassphrase.c.
Diffstat (limited to 'openbsd-compat/readpassphrase.c')
-rw-r--r--openbsd-compat/readpassphrase.c8
1 files changed, 8 insertions, 0 deletions
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;