diff options
author | Gunter Knauf <gk@gknw.de> | 2007-06-30 20:08:13 +0000 |
---|---|---|
committer | Gunter Knauf <gk@gknw.de> | 2007-06-30 20:08:13 +0000 |
commit | afdfa4bed24c9f937bc49807c6d547ac3a158525 (patch) | |
tree | 6ae4f7930b6bde890fd9792f68f19a914e7e14c0 /src/getpass.c | |
parent | 3fc6faf1ae48f15f627ccd4fae92d9c085876d42 (diff) | |
download | curl-afdfa4bed24c9f937bc49807c6d547ac3a158525.tar.gz |
minor patches to enable building for NetWare CLIB.
sent by Dmitry Mityugov.
Diffstat (limited to 'src/getpass.c')
-rw-r--r-- | src/getpass.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/getpass.c b/src/getpass.c index 93b061f2d..244b29b9e 100644 --- a/src/getpass.c +++ b/src/getpass.c @@ -126,11 +126,31 @@ char *getpass_r(const char *prompt, char *buffer, size_t buflen) #ifdef NETWARE /* NetWare implementation */ +#ifdef __NOVELL_LIBC__ #include <screen.h> char *getpass_r(const char *prompt, char *buffer, size_t buflen) { return getpassword(prompt, buffer, buflen); } +#else +#include <nwconio.h> +char *getpass_r(const char *prompt, char *buffer, size_t buflen) +{ + int i = 0; + int c; + + printf("%s", prompt); + do { + c = getch(); + if (c != 13) { + buffer[i] = c; + i++; + printf("%s", "*"); + } + } while ((c != 13) && (i < buflen)); + return buffer; +} +#endif /* __NOVELL_LIBC__ */ #define DONE #endif /* NETWARE */ |