From 74d1d18f6bc7140f9bc5568b939870d8ec89b9ad Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 12 Jun 2008 10:14:14 +0000 Subject: Revert revision 19345 plus libc_hidden_proto for __uc_malloc. --- libc/misc/utmp/utent.c | 13 ++++--------- libc/unistd/getpass.c | 9 ++------- 2 files changed, 6 insertions(+), 16 deletions(-) (limited to 'libc') diff --git a/libc/misc/utmp/utent.c b/libc/misc/utmp/utent.c index d71aa312f..6c1793e65 100644 --- a/libc/misc/utmp/utent.c +++ b/libc/misc/utmp/utent.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -30,7 +29,6 @@ libc_hidden_proto(open) libc_hidden_proto(fcntl) libc_hidden_proto(close) libc_hidden_proto(lseek) -libc_hidden_proto(__uc_malloc) #include __UCLIBC_MUTEX_STATIC(utmplock, PTHREAD_MUTEX_INITIALIZER); @@ -38,10 +36,9 @@ __UCLIBC_MUTEX_STATIC(utmplock, PTHREAD_MUTEX_INITIALIZER); /* Some global crap */ -static const char default_file_name[] = _PATH_UTMP; - static int static_fd = -1; -static struct utmp *static_utmp; +static struct utmp static_utmp; +static const char default_file_name[] = _PATH_UTMP; static const char *static_ut_name = (const char *) default_file_name; /* This function must be called with the LOCK held */ @@ -92,11 +89,9 @@ static struct utmp *__getutent(int utmp_fd) return NULL; } - free(static_utmp); - static_utmp = __uc_malloc(sizeof(*static_utmp)); - if (read(utmp_fd, (char *) static_utmp, sizeof(*static_utmp)) == sizeof(*static_utmp)) + if (read(utmp_fd, (char *) &static_utmp, sizeof(struct utmp)) == sizeof(struct utmp)) { - ret = static_utmp; + ret = &static_utmp; } return ret; diff --git a/libc/unistd/getpass.c b/libc/unistd/getpass.c index 08bf23636..f17a1d71d 100644 --- a/libc/unistd/getpass.c +++ b/libc/unistd/getpass.c @@ -20,7 +20,7 @@ #include #include #include -#include +#include #if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_XOPEN2K) @@ -37,7 +37,6 @@ libc_hidden_proto(fputs) libc_hidden_proto(fputc) libc_hidden_proto(putc) libc_hidden_proto(__fputc_unlocked) -libc_hidden_proto(__uc_malloc) /* It is desirable to use this bit on systems that have it. The only bit of terminal state we want to twiddle is echoing, which is @@ -51,16 +50,12 @@ libc_hidden_proto(__uc_malloc) char * getpass (const char *prompt) { - static char *buf; - FILE *in, *out; struct termios s, t; int tty_changed; + static char buf[PWD_BUFFER_SIZE]; int nread; - free(buf); - buf = __uc_malloc(PWD_BUFFER_SIZE); - /* Try to write to and read from the terminal if we can. If we can't open the terminal, use stderr and stdin. */ -- cgit v1.2.3