diff options
author | Matthew Green <mrg@redhat.com> | 2002-02-03 09:24:18 +0000 |
---|---|---|
committer | Matthew Green <mrg@redhat.com> | 2002-02-03 09:24:18 +0000 |
commit | 8195aff714f2ea5d680a5129a1d54af388e90355 (patch) | |
tree | 683ff47f4802385e669491dda42bf8050772dbdf /newlib/libc/stdlib/exit.c | |
parent | ad67ada2fc7cdb361643d506701e274a67d796f9 (diff) | |
download | newlib-8195aff714f2ea5d680a5129a1d54af388e90355.zip newlib-8195aff714f2ea5d680a5129a1d54af388e90355.tar.gz newlib-8195aff714f2ea5d680a5129a1d54af388e90355.tar.bz2 |
* implement a new `struct _reent' that is significantly smaller. use this
if _REENT_SMALL is defined in config.h. define this for xstormy16.
Diffstat (limited to 'newlib/libc/stdlib/exit.c')
-rw-r--r-- | newlib/libc/stdlib/exit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c index 543bd0e..fb7f73e 100644 --- a/newlib/libc/stdlib/exit.c +++ b/newlib/libc/stdlib/exit.c @@ -62,9 +62,14 @@ _DEFUN (exit, (code), register struct _atexit *p; register int n; +#ifdef _REENT_SMALL + for (p = &_REENT->_atexit, n = p->_ind; --n >= 0;) + (*p->_fns[n]) (); +#else for (p = _REENT->_atexit; p; p = p->_next) for (n = p->_ind; --n >= 0;) (*p->_fns[n]) (); +#endif if (_REENT->__cleanup) (*_REENT->__cleanup) (_REENT); _exit (code); |