#include #include #include #include "win32-getpass.h" static char getpassbuf[PASS_MAX + 1]; char *getpass(const char *prompt) { int c; int i = 0; memset(getpassbuf, sizeof(getpassbuf), 0); fputs(prompt, stderr); for (;;) { c = _getch(); if (c == '\r') { getpassbuf[i] = '\0'; break; } else if (i < PASS_MAX) { getpassbuf[i++] = c; } } fputs("\r\n", stderr); return getpassbuf; } #ifdef TEST int main(void) { char *pw = getpass("Password: "); printf("Password is '%s'\n", pw); return 0; } #endif /* TEST */