From c730e0e7caa61c53e211c2eefa2afe1e31510714 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Sat, 31 Jan 2004 00:39:07 +0000 Subject: [PATCH] 2004-01-30 Jeff Johnston * libc/stdio/fwalk.c (_fwalk.c): Don't traverse the file chain on the passed in reentrancy struct if it is _GLOBAL_REENT. --- newlib/ChangeLog | 6 ++++++ newlib/libc/stdio/fwalk.c | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index e84ad886b..66faeada8 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,9 @@ +2004-01-30 Jeff Johnston + + * libc/stdio/fwalk.c (_fwalk.c): Don't traverse the + file chain on the passed in reentrancy struct if it + is _GLOBAL_REENT. + 2004-01-30 Artem B. Bityuckiy Jeff Johnston diff --git a/newlib/libc/stdio/fwalk.c b/newlib/libc/stdio/fwalk.c index 4d37499dd..b147da3af 100644 --- a/newlib/libc/stdio/fwalk.c +++ b/newlib/libc/stdio/fwalk.c @@ -36,10 +36,13 @@ _fwalk (ptr, function) register struct _glue *g; /* Must traverse given list for std streams. */ - for (g = &ptr->__sglue; g != NULL; g = g->_next) - for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) - if (fp->_flags != 0) - ret |= (*function) (fp); + if (ptr != _GLOBAL_REENT) + { + for (g = &ptr->__sglue; g != NULL; g = g->_next) + for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) + if (fp->_flags != 0) + ret |= (*function) (fp); + } /* Must traverse global list for all other streams. */ for (g = &_GLOBAL_REENT->__sglue; g != NULL; g = g->_next) -- 2.43.5