/* getpass --- get a password of at most 8 characters from the terminal */ #define NOECHO 0140000 /* for primos duplx$ */ char *getpass(prompt) char *prompt; { static char pword[9]; FILE *fp; int save_lword, duplx$ (); if (tty == NULL && (fp = fopen ("/dev/tty", "r")) == NULL) fp = stdin; else fp = tty; fprintf (stderr, "%s", prompt); save_lword = duplx$ (-1); /* save parameters */ duplx$ (NOECHO); fscanf (fp, "%8s\n", pword); putc ('\n', stderr); /* echo newline manually */ duplx$ (save_lword); /* restore */ return (pword); }