about summary refs log tree commit diff
path: root/src/linux/getpass.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-07 00:48:25 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-07 00:48:25 -0400
commitb9bb8f67bbac9bab5314fb00974ad469476e936e (patch)
tree89fc3a733b4cd9a2346c5b77d8953b4f7aa9dd22 /src/linux/getpass.c
parent780aede41913528781bbc8ff0d0e27505595f7c0 (diff)
downloadmusl-b9bb8f67bbac9bab5314fb00974ad469476e936e.tar.gz
musl-b9bb8f67bbac9bab5314fb00974ad469476e936e.tar.xz
musl-b9bb8f67bbac9bab5314fb00974ad469476e936e.zip
cleanup src/linux and src/misc trees, etc.
previously, it was pretty much random which one of these trees a given
function appeared in. they have now been organized into:

src/linux: non-POSIX linux syscalls (possibly shard with other nixen)
src/legacy: various obsolete/legacy functions, mostly wrappers
src/misc: still mostly uncategorized; some misc POSIX, some nonstd
src/crypt: crypt hash functions

further cleanup will be done later.
Diffstat (limited to 'src/linux/getpass.c')
-rw-r--r--src/linux/getpass.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/linux/getpass.c b/src/linux/getpass.c
deleted file mode 100644
index d439a2a5..00000000
--- a/src/linux/getpass.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-char *getpass(const char *prompt)
-{
-	int fd;
-	struct termios s, t;
-	ssize_t l;
-	static char password[128];
-
-	if ((fd = open("/dev/tty", O_RDONLY|O_NOCTTY)) < 0) fd = 0;
-
-	tcgetattr(fd, &t);
-	s = t;
-	t.c_lflag &= ~(ECHO|ISIG);
-	t.c_lflag |= ICANON;
-	t.c_iflag &= ~(INLCR|IGNCR);
-	t.c_iflag |= ICRNL;
-	tcsetattr(fd, TCSAFLUSH, &t);
-	tcdrain(fd);
-
-	fputs(prompt, stderr);
-	fflush(stderr);
-
-	l = read(fd, password, sizeof password);
-	if (l >= 0) {
-		if (l > 0 && password[l-1] == '\n') l--;
-		password[l] = 0;
-	}
-
-	tcsetattr(fd, TCSAFLUSH, &s);
-
-	if (fd > 2) close(fd);
-
-	return password;
-}