home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
pcnfsd2.zip
/
getpass.c
next >
Wrap
C/C++ Source or Header
|
1994-03-16
|
664b
|
34 lines
#include <stdio.h>
#include <conio.h>
#define _PASSWORD_LEN 128
/* Issue prompt and read reply with echo turned off */
char *getpass (const char *prompt)
{
static char pbuf[_PASSWORD_LEN+1];
int c, i;
fputs (prompt, stderr);
fflush (stderr);
i = 0;
for (;;)
{
c = getch ();
if (c == '\r' || c == '\n')
break;
if (c == '\b' || c == 127)
{
if (i > 0) --i;
}
else if (c == 0x15 || c == 0x1b)
i = 0;
else if (i < sizeof (pbuf)-1)
pbuf[i++] = (char)c;
}
pbuf[i] = 0;
fputs ("\r\n", stderr);
fflush (stderr);
return (pbuf);
}