public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] Move __sglue initializations to __sfp()
@ 2022-05-13 11:19 Sebastian Huber
  0 siblings, 0 replies; only message in thread
From: Sebastian Huber @ 2022-05-13 11:19 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=a7bdda05038d3a95daed5aca7d0d4c6ce755e1d9

commit a7bdda05038d3a95daed5aca7d0d4c6ce755e1d9
Author: Matt Joyce <matthew.joyce@embedded-brains.de>
Date:   Tue May 3 06:17:15 2022 +0200

    Move __sglue initializations to __sfp()
    
    Moved last remaining  __sglue initializations from __sinit() to
    __sfp(). The move better encapsulates access to __sglue and
    facilitates its decoupling from struct _reent in a follow-on patch.

Diff:
---
 newlib/libc/stdio/findfp.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c
index afbdad9b1..7434c343c 100644
--- a/newlib/libc/stdio/findfp.c
+++ b/newlib/libc/stdio/findfp.c
@@ -151,8 +151,14 @@ __sfp (struct _reent *d)
 
   _newlib_sfp_lock_start ();
 
-  if (_GLOBAL_REENT->__cleanup == NULL)
+  if (_GLOBAL_REENT->__cleanup == NULL) {
+#ifdef _REENT_GLOBAL_STDIO_STREAMS
+    _GLOBAL_REENT->__sglue._niobs = 3;
+    _GLOBAL_REENT->__sglue._iobs = &__sf[0];
+#endif
     __sinit (_GLOBAL_REENT);
+  }
+
   for (g = &_GLOBAL_REENT->__sglue;; g = g->_next)
     {
       for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++)
@@ -256,8 +262,6 @@ __sinit (struct _reent *s)
 
 #ifdef _REENT_GLOBAL_STDIO_STREAMS
   if (__sf[0]._cookie == NULL) {
-    _GLOBAL_REENT->__sglue._niobs = 3;
-    _GLOBAL_REENT->__sglue._iobs = &__sf[0];
     stdin_init (&__sf[0]);
     stdout_init (&__sf[1]);
     stderr_init (&__sf[2]);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-05-13 11:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-13 11:19 [newlib-cygwin] Move __sglue initializations to __sfp() Sebastian Huber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).