Commit patch from Tobias Burnus <tobias@codesourcery.com>

[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.
This commit is contained in:
Jeff Johnston 2022-03-30 15:58:06 -04:00
parent 49a00a0673
commit 0239bc706a
2 changed files with 4 additions and 4 deletions

View 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;

View 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;