Minix1.5/lib/other/getpass.c

Compare this file to the similar file:
Show the results in this format:

#include <lib.h>
#include <sgtty.h>
#include <unistd.h>
#include <stdio.h>


PRIVATE char pwdbuf[9];

char *getpass(prompt)
char *prompt;
{
  int i = 0, save;
  struct sgttyb tty;

  prints(prompt);
  ioctl(0, TIOCGETP, &tty);
  save = tty.sg_flags;
  tty.sg_flags = tty.sg_flags & ~ECHO;
  ioctl(0, TIOCSETP, &tty);
  i = read(0, pwdbuf, 9);
  while (pwdbuf[i - 1] != '\n') read(0, &pwdbuf[i - 1], 1);
  pwdbuf[i - 1] = '\0';
  tty.sg_flags = save;
  ioctl(0, TIOCSETP, &tty);
  prints("\n");
  return(pwdbuf);
}