mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	* crypt/crypt.texi: Moved to... * crypt/examples/genpass.c: Moved to... * manual/examples/genpass.c: ...here. * crypt/examples/mygenpass.c: Moved to... * manual/examples/mygenpass.c: ...here. * crypt/examples/testpass.c: Moved to... * manual/examples/testpass.c: ...here. * manual/Makefile (chapters): Add crypt. * manual/conf.texi: Add usual header for not-last chapter. * manual/crypt.texi: Add special header for last chapter.
		
			
				
	
	
		
			26 lines
		
	
	
		
			538 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			538 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include <termios.h>
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
ssize_t
 | 
						|
my_getpass (char **lineptr, size_t *n, FILE *stream)
 | 
						|
{
 | 
						|
  struct termios old, new;
 | 
						|
  int nread;
 | 
						|
 | 
						|
  /* Turn echoing off and fail if we can't.  */
 | 
						|
  if (tcgetattr (fileno (stream), &old) != 0)
 | 
						|
    return -1;
 | 
						|
  new = old;
 | 
						|
  new.c_lflag &= ~ECHO;
 | 
						|
  if (tcsetattr (fileno (stream), TCSAFLUSH, &new) != 0)
 | 
						|
    return -1;
 | 
						|
  
 | 
						|
  /* Read the password.  */
 | 
						|
  nread = getline (lineptr, n, stream);
 | 
						|
 | 
						|
  /* Restore terminal.  */
 | 
						|
  (void) tcsetattr (fileno (stream), TCSAFLUSH, &old);
 | 
						|
  
 | 
						|
  return nread;
 | 
						|
}
 |