Index: fusl/src/legacy/getpass.c |
diff --git a/fusl/src/legacy/getpass.c b/fusl/src/legacy/getpass.c |
index 15ab9851e8f886d52187cf8910619b08f63cb5bc..1c1c831d2a833514b680d2dc6ff61f75cf199e74 100644 |
--- a/fusl/src/legacy/getpass.c |
+++ b/fusl/src/legacy/getpass.c |
@@ -5,36 +5,37 @@ |
#include <fcntl.h> |
#include <string.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_RDWR|O_NOCTTY|O_CLOEXEC)) < 0) return 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); |
- |
- dprintf(fd, "%s", prompt); |
- |
- l = read(fd, password, sizeof password); |
- if (l >= 0) { |
- if (l > 0 && password[l-1] == '\n') l--; |
- password[l] = 0; |
- } |
- |
- tcsetattr(fd, TCSAFLUSH, &s); |
- |
- dprintf(fd, "\n"); |
- close(fd); |
- |
- return l<0 ? 0 : password; |
+char* getpass(const char* prompt) { |
+ int fd; |
+ struct termios s, t; |
+ ssize_t l; |
+ static char password[128]; |
+ |
+ if ((fd = open("/dev/tty", O_RDWR | O_NOCTTY | O_CLOEXEC)) < 0) |
+ return 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); |
+ |
+ dprintf(fd, "%s", prompt); |
+ |
+ l = read(fd, password, sizeof password); |
+ if (l >= 0) { |
+ if (l > 0 && password[l - 1] == '\n') |
+ l--; |
+ password[l] = 0; |
+ } |
+ |
+ tcsetattr(fd, TCSAFLUSH, &s); |
+ |
+ dprintf(fd, "\n"); |
+ close(fd); |
+ |
+ return l < 0 ? 0 : password; |
} |