diff options
author | Manuel Novoa III <mjn3@codepoet.org> | 2004-02-11 23:48:50 +0000 |
---|---|---|
committer | Manuel Novoa III <mjn3@codepoet.org> | 2004-02-11 23:48:50 +0000 |
commit | 082e680bd54e999f2bb4eb77141958938b1e9ee9 (patch) | |
tree | 203c45b85ca608e1550d8ffc459456fc9cf0b30b /libc/stdlib | |
parent | 17c21765b4a97c6f0b74ba8466073e5a3f97cdee (diff) |
New stdio core. Should be more maintainable. Fixes a couple of bugs.
Codepaths streamlined. Improved performance for nonthreaded apps
when linked with a thread-enabled libc.
Minor iconv bug and some locale/thread related startup issues fixed.
These showed up in getting a gcj-compiled java helloworld app running.
Removed some old extension functions... _stdio_fdout and _stdio_fsfopen.
Diffstat (limited to 'libc/stdlib')
-rw-r--r-- | libc/stdlib/abort.c | 8 | ||||
-rw-r--r-- | libc/stdlib/ptsname.c | 3 | ||||
-rw-r--r-- | libc/stdlib/stdlib.c | 10 |
3 files changed, 7 insertions, 14 deletions
diff --git a/libc/stdlib/abort.c b/libc/stdlib/abort.c index 1ea1c4757..710e24d93 100644 --- a/libc/stdlib/abort.c +++ b/libc/stdlib/abort.c @@ -56,7 +56,6 @@ Cambridge, MA 02139, USA. */ #define ABORT_INSTRUCTION #endif -extern void weak_function _stdio_term(void); extern void _exit __P((int __status)) __attribute__ ((__noreturn__)); static int been_there_done_that = 0; @@ -85,13 +84,6 @@ void abort(void) sigprocmask(SIG_UNBLOCK, &sigset, (sigset_t *) NULL); } - /* If we are using stdio, try to shut it down. At the very least, - * this will attempt to commit all buffered writes. It may also - * unbuffer all writable files, or close them outright. - * Check the stdio routines for details. */ - if (_stdio_term) - _stdio_term(); - while (1) { /* Try to suicide with a SIGABRT. */ if (been_there_done_that == 0) { diff --git a/libc/stdlib/ptsname.c b/libc/stdlib/ptsname.c index 2472edb3f..677505953 100644 --- a/libc/stdlib/ptsname.c +++ b/libc/stdlib/ptsname.c @@ -17,7 +17,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#define _STDIO_UTILITY /* For _int10tostr. */ +#define _ISOC99_SOURCE #include <stdio.h> #include <errno.h> #include <paths.h> @@ -28,6 +28,7 @@ #include <sys/sysmacros.h> #include <termios.h> #include <unistd.h> +#include <bits/uClibc_uintmaxtostr.h> #if !defined __UNIX98PTY_ONLY__ diff --git a/libc/stdlib/stdlib.c b/libc/stdlib/stdlib.c index c31f5f251..9e78fb24e 100644 --- a/libc/stdlib/stdlib.c +++ b/libc/stdlib/stdlib.c @@ -863,7 +863,7 @@ int mblen(register const char *s, size_t n) size_t r; if (!s) { - state.mask = 0; + state.__mask = 0; #ifdef __CTYPE_HAS_UTF_8_LOCALES return ENCODING == __ctype_encoding_utf8; #else @@ -873,7 +873,7 @@ int mblen(register const char *s, size_t n) if ((r = mbrlen(s, n, &state)) == (size_t) -2) { /* TODO: Should we set an error state? */ - state.wc = 0xffffU; /* Make sure we're in an error state. */ + state.__wc = 0xffffU; /* Make sure we're in an error state. */ return (size_t) -1; /* TODO: Change error code above? */ } return r; @@ -889,7 +889,7 @@ int mbtowc(wchar_t *__restrict pwc, register const char *__restrict s, size_t n) size_t r; if (!s) { - state.mask = 0; + state.__mask = 0; #ifdef __CTYPE_HAS_UTF_8_LOCALES return ENCODING == __ctype_encoding_utf8; #else @@ -899,7 +899,7 @@ int mbtowc(wchar_t *__restrict pwc, register const char *__restrict s, size_t n) if ((r = mbrtowc(pwc, s, n, &state)) == (size_t) -2) { /* TODO: Should we set an error state? */ - state.wc = 0xffffU; /* Make sure we're in an error state. */ + state.__wc = 0xffffU; /* Make sure we're in an error state. */ return (size_t) -1; /* TODO: Change error code above? */ } return r; @@ -932,7 +932,7 @@ size_t mbstowcs(wchar_t * __restrict pwcs, const char * __restrict s, size_t n) mbstate_t state; const char *e = s; /* Needed because of restrict. */ - state.mask = 0; /* Always start in initial shift state. */ + state.__mask = 0; /* Always start in initial shift state. */ return mbsrtowcs(pwcs, &e, n, &state); } |