Module Name:    src
Committed By:   christos
Date:           Sat Apr 14 01:34:38 UTC 2012

Modified Files:
        src/crypto/external/bsd/openssh/dist: readpassphrase.c

Log Message:
Minimize diffs.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/crypto/external/bsd/openssh/dist/readpassphrase.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/openssh/dist/readpassphrase.c
diff -u src/crypto/external/bsd/openssh/dist/readpassphrase.c:1.2 src/crypto/external/bsd/openssh/dist/readpassphrase.c:1.3
--- src/crypto/external/bsd/openssh/dist/readpassphrase.c:1.2	Fri Apr 13 19:57:08 2012
+++ src/crypto/external/bsd/openssh/dist/readpassphrase.c	Fri Apr 13 21:34:37 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: readpassphrase.c,v 1.2 2012/04/13 23:57:08 christos Exp $	*/
+/*	$NetBSD: readpassphrase.c,v 1.3 2012/04/14 01:34:37 christos Exp $	*/
 /*
  * Copyright (c) 2000 Todd C. Miller <[email protected]>
  * All rights reserved.
@@ -43,14 +43,32 @@ static const char rcsid[] = "$OpenBSD: r
 #include <readpassphrase.h>
 
 char *
-readpassphrase(
-	const char *prompt,
-	char *buf,
-	size_t bufsiz,
-	int flags)
+readpassphrase(prompt, buf, bufsiz, flags)
+	const char *prompt;
+	char *buf;
+	size_t bufsiz;
+	int flags;
 {
+#ifdef GETPASS_ECHO
+	int gflags = GETPASS_ECHO_NL;
+
+	if (flags & RPP_ECHO_ON)
+		gflags |= GETPASS_ECHO;
+	if (flags & RPP_REQUIRE_TTY)
+		gflags |= GETPASS_NEED_TTY;
+	if (flags & RPP_FORCELOWER)
+		gflags |= GETPASS_FORCE_LOWER;
+	if (flags & RPP_FORCEUPPER)
+		gflags |= GETPASS_FORCE_UPPER;
+	if (flags & RPP_SEVENBIT)
+		gflags |= GETPASS_7BIT;
+
+	return getpassfd(prompt, buf, bufsiz, NULL, gflags, 0);
+#else
+	struct termios term, oterm;
+	char ch, *p, *end;
 	int input, output;
-	char *ret;
+	sigset_t oset, nset;
 
 	/* I suppose we could alloc on demand in this case (XXX). */
 	if (bufsiz == 0) {
@@ -71,11 +89,6 @@ readpassphrase(
 		output = STDERR_FILENO;
 	}
 
-#ifndef GETPASS_ECHO
-	struct termios term, oterm;
-	char ch, *p, *end;
-	sigset_t oset, nset;
-
 	/*
 	 * We block SIGINT and SIGTSTP so the terminal is not left
 	 * in an inconsistent state (ie: no echo).  It would probably
@@ -122,33 +135,10 @@ readpassphrase(
 	if (memcmp(&term, &oterm, sizeof(term)) != 0)
 		(void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &oterm);
 	(void)sigprocmask(SIG_SETMASK, &oset, NULL);
-	ret = buf;
-#else
-	int gflags = 0;
-	int fd[3];
-
-	if (flags & RPP_ECHO_ON)
-		gflags |= GETPASS_ECHO;
-	if (flags & RPP_REQUIRE_TTY)
-		gflags |= GETPASS_NEED_TTY;
-	if (flags & RPP_FORCELOWER)
-		gflags |= GETPASS_FORCE_LOWER;
-	if (flags & RPP_FORCEUPPER)
-		gflags |= GETPASS_FORCE_UPPER;
-	if (flags & RPP_SEVENBIT)
-		gflags |= GETPASS_7BIT;
-
-	fd[0] = input;
-	fd[1] = fd[2] = output;
-	ret = getpassfd(prompt, buf, bufsiz, fd, gflags, 0);
-	if ((gflags & GETPASS_ECHO) == 0)
-		(void)write(output, "\n", 1);
-
-#endif
 	if (input != STDIN_FILENO)
 		(void)close(input);
-	
-	return ret;
+	return(buf);
+#endif
 }
 
 char *

Reply via email to