Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Green <mrg@redhat.com>2002-02-03 12:24:18 +0300
committerMatthew Green <mrg@redhat.com>2002-02-03 12:24:18 +0300
commit8195aff714f2ea5d680a5129a1d54af388e90355 (patch)
tree683ff47f4802385e669491dda42bf8050772dbdf /newlib/libc/stdlib/exit.c
parentad67ada2fc7cdb361643d506701e274a67d796f9 (diff)
* 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.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c
index 543bd0e30..fb7f73e77 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);