aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libc_compat/patches/readpassphrase.patch
blob: 876b7306b354d313678701e751872c8d894d5d1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
--- a/readpassphrase.c	(index)
+++ b/readpassphrase.c	(working tree)
@@ -32,6 +32,16 @@
 #include <unistd.h>
 #include <readpassphrase.h>
 
+#ifndef TCSASOFT
+/* If we don't have TCSASOFT define it so that ORing it it below is a no-op. */
+# define TCSASOFT 0
+#endif
+
+/* SunOS 4.x which lacks _POSIX_VDISABLE, but has VDISABLE */
+#if !defined(_POSIX_VDISABLE) && defined(VDISABLE)
+#  define _POSIX_VDISABLE       VDISABLE
+#endif
+
 static volatile sig_atomic_t signo[_NSIG];
 
 static void handler(int);
@@ -91,8 +91,6 @@ restart:
         memcpy(&term, &oterm, sizeof(term));
         if (!(flags & RPP_ECHO_ON))
             term.c_lflag &= ~(ECHO | ECHONL);
-        if (term.c_cc[VSTATUS] != _POSIX_VDISABLE)
-            term.c_cc[VSTATUS] = _POSIX_VDISABLE;
         (void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &term);
     } else {
         memset(&term, 0, sizeof(term));
@@ -177,14 +187,6 @@ restart:
 }
 
 
-char *
-getpass(const char *prompt)
-{
-    static char buf[_PASSWORD_LEN + 1];
-
-    return(readpassphrase(prompt, buf, sizeof(buf), RPP_ECHO_OFF));
-}
-
 static void handler(int s)
 {