#44 hide password input

This commit is contained in:
Erik Ekman 2009-02-22 16:38:43 +00:00
parent 4ee39714a7
commit 209c4a37c0

View File

@ -28,7 +28,8 @@
#include <fcntl.h>
#ifdef WINDOWS32
#include <winsock.h>
#include <winsock2.h>
#include <conio.h>
#else
#include <arpa/nameser.h>
#ifdef DARWIN
@ -183,11 +184,26 @@ read_password(char *buf, size_t len)
tp.c_lflag &= (~ECHO);
tcsetattr(0, TCSANOW, &tp);
#else
int i;
#endif
printf("Enter password: ");
fflush(stdout);
#ifndef WINDOWS32
scanf("%79s", pwd);
#else
for (i = 0; i < sizeof(pwd); i++) {
pwd[i] = getch();
if (pwd[i] == '\r' || pwd[i] == '\n') {
pwd[i] = 0;
break;
} else if (pwd[i] == '\b') {
i--; /* Remove the \b char */
if (i >=0) i--; /* If not first char, remove one more */
}
}
#endif
printf("\n");
#ifndef WINDOWS32