]> sourceware.org Git - newlib-cygwin.git/commitdiff
Commit patch from Tobias Burnus <tobias@codesourcery.com>
authorJeff Johnston <jjohnstn@redhat.com>
Wed, 30 Mar 2022 19:58:06 +0000 (15:58 -0400)
committerJeff Johnston <jjohnstn@redhat.com>
Wed, 30 Mar 2022 19:58:06 +0000 (15:58 -0400)
[PATCH] newlib: Only call _fputwc_r if ELIX_LEVEL >= 4

(nano-)vfprintf.c is enabled for ELIX_LEVEL >= 1. When _WIDE_ORIENT
is set, its __sprint_r / __sfputs_r functions unconditionally called
_fputwc_r which is only in ELEX_LEVEL >= 4. With this commit,
the _WIDE support in (nano-)vfprintf.c is disabled for ELEX_LEVEL < 4.

newlib/libc/stdio/nano-vfprintf.c
newlib/libc/stdio/vfprintf.c

index bc7ed074322b2e9470ed6eab6bfa43a86e014aa7..838804eb9c3a3bb59dedcd38b95fb1d8a5847768 100644 (file)
@@ -356,7 +356,7 @@ __sprint_r (struct _reent *ptr,
       uio->uio_iovcnt = 0;
       return 0;
     }
-#ifdef _WIDE_ORIENT
+#if defined _WIDE_ORIENT && (!defined _ELIX_LEVEL || _ELIX_LEVEL >= 4)
     if (fp->_flags2 & __SWID)
       {
        struct __siov *iov;
@@ -407,7 +407,7 @@ __sfputs_r (struct _reent *ptr,
 {
   register int i;
 
-#ifdef _WIDE_ORIENT
+#if defined _WIDE_ORIENT && (!defined _ELIX_LEVEL || _ELIX_LEVEL >= 4)
   if (fp->_flags2 & __SWID)
     {
       wchar_t *p;
index c1483c0ac62b7e74d087760f085da6ccde6b2d41..32ebb1468a17b962804d700179ebdfaf30235c6e 100644 (file)
@@ -370,7 +370,7 @@ __sfputs_r (struct _reent *ptr,
 {
        register int i;
 
-#ifdef _WIDE_ORIENT
+#if defined _WIDE_ORIENT && (!defined _ELIX_LEVEL || _ELIX_LEVEL >= 4)
        if (fp->_flags2 & __SWID) {
                wchar_t *p;
 
@@ -406,7 +406,7 @@ __sprint_r (struct _reent *ptr,
                uio->uio_iovcnt = 0;
                return (0);
        }
-#ifdef _WIDE_ORIENT
+#if defined _WIDE_ORIENT && (!defined _ELIX_LEVEL || _ELIX_LEVEL >= 4)
        if (fp->_flags2 & __SWID) {
                struct __siov *iov;
                wchar_t *p;
This page took 0.03109 seconds and 5 git commands to generate.