]> andersk Git - openssh.git/blobdiff - openbsd-compat/readpassphrase.c
- (dtucker) [openbsd-compat/xmmap.c] Include stdlib.h for mkstemp prototype.
[openssh.git] / openbsd-compat / readpassphrase.c
index b5f4d1ce4fea2bffbf49a08724776182f03462e1..11bd8f646e1dbeae558d78ff06b287a80e07e8df 100644 (file)
@@ -1,6 +1,4 @@
-/* OPENBSD ORIGINAL: lib/libc/gen/readpassphrase.c */
-
-/*     $OpenBSD: readpassphrase.c,v 1.16 2003/06/17 21:56:23 millert Exp $     */
+/*     $OpenBSD: readpassphrase.c,v 1.18 2005/08/08 08:05:34 espie Exp $       */
 
 /*
  * Copyright (c) 2000-2002 Todd C. Miller <Todd.Miller@courtesan.com>
  * Materiel Command, USAF, under agreement number F39502-99-1-0512.
  */
 
-#if defined(LIBC_SCCS) && !defined(lint)
-static const char rcsid[] = "$OpenBSD: readpassphrase.c,v 1.16 2003/06/17 21:56:23 millert Exp $";
-#endif /* LIBC_SCCS and not lint */
+/* OPENBSD ORIGINAL: lib/libc/gen/readpassphrase.c */
 
 #include "includes.h"
 
 #ifndef HAVE_READPASSPHRASE
 
 #include <termios.h>
+#include <signal.h>
+#include <ctype.h>
+#include <fcntl.h>
 #include <readpassphrase.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
 
 #ifdef TCSASOFT
 # define _T_FLUSH      (TCSAFLUSH|TCSASOFT)
@@ -137,10 +139,11 @@ restart:
                (void)write(output, "\n", 1);
 
        /* Restore old terminal settings and signals. */
-       if (memcmp(&term, &oterm, sizeof(term)) != 0)
-               for (;tcsetattr(input, _T_FLUSH, &oterm) == -1 &&
-                   errno == EINTR;)
-                       ;
+       if (memcmp(&term, &oterm, sizeof(term)) != 0) {
+               while (tcsetattr(input, _T_FLUSH, &oterm) == -1 &&
+                   errno == EINTR)
+                       continue;
+       }
        (void)sigaction(SIGALRM, &savealrm, NULL);
        (void)sigaction(SIGHUP, &savehup, NULL);
        (void)sigaction(SIGINT, &saveint, NULL);
This page took 0.069067 seconds and 4 git commands to generate.