diff options
Diffstat (limited to 'libblkid/xgetpass.c')
-rw-r--r-- | libblkid/xgetpass.c | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/libblkid/xgetpass.c b/libblkid/xgetpass.c deleted file mode 100644 index ba2089470..000000000 --- a/libblkid/xgetpass.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * A function to read the passphrase either from the terminal or from - * an open file descriptor. - * - * Public domain. - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/ioctl.h> -#include <sys/stat.h> - -#include "c.h" -#include "xgetpass.h" - -char *xgetpass(int pfd, const char *prompt) -{ - char *pass = NULL; - int len = 0, i; - - if (pfd < 0) /* terminal */ - return getpass(prompt); - - for (i=0; ; i++) { - if (i >= len-1) { - char *tmppass = pass; - len += 128; - - pass = realloc(tmppass, len); - if (!pass) { - pass = tmppass; /* the old buffer hasn't changed */ - break; - } - } - if (pass && (read(pfd, pass + i, 1) != 1 || - pass[i] == '\n' || pass[i] == 0)) - break; - } - - if (pass) - pass[i] = '\0'; - return pass; -} - |