aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/stdio/funopen.c
diff options
context:
space:
mode:
authorMatt Joyce <matthew.joyce@embedded-brains.de>2022-01-18 10:13:04 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-13 06:55:41 +0200
commitf3b8138239d3ba34c4ecaa4305b0fbd7eb4e28a5 (patch)
tree80cc7a629134d4568bf5dc71898266555a6863b0 /newlib/libc/stdio/funopen.c
parentd0d78e96ebf4187fb9362465f1a397680447046f (diff)
downloadnewlib-f3b8138239d3ba34c4ecaa4305b0fbd7eb4e28a5.zip
newlib-f3b8138239d3ba34c4ecaa4305b0fbd7eb4e28a5.tar.gz
newlib-f3b8138239d3ba34c4ecaa4305b0fbd7eb4e28a5.tar.bz2
Add _REENT_ERRNO(ptr)
Add a _REENT_ERRNO() macro to encapsulate the access to the _errno member of struct reent. This will help to replace the structure member with a thread-local storage object in a follow up patch. Replace uses of __errno_r() with _REENT_ERRNO(). Keep __errno_r() macro for potential users outside of Newlib.
Diffstat (limited to 'newlib/libc/stdio/funopen.c')
-rw-r--r--newlib/libc/stdio/funopen.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/newlib/libc/stdio/funopen.c b/newlib/libc/stdio/funopen.c
index a1c0d76..4ed5019 100644
--- a/newlib/libc/stdio/funopen.c
+++ b/newlib/libc/stdio/funopen.c
@@ -113,7 +113,7 @@ funreader (struct _reent *ptr,
funcookie *c = (funcookie *) cookie;
errno = 0;
if ((result = c->readfn (c->cookie, buf, n)) < 0 && errno)
- ptr->_errno = errno;
+ _REENT_ERRNO(ptr) = errno;
return result;
}
@@ -127,7 +127,7 @@ funwriter (struct _reent *ptr,
funcookie *c = (funcookie *) cookie;
errno = 0;
if ((result = c->writefn (c->cookie, buf, n)) < 0 && errno)
- ptr->_errno = errno;
+ _REENT_ERRNO(ptr) = errno;
return result;
}
@@ -142,15 +142,15 @@ funseeker (struct _reent *ptr,
fpos_t result;
errno = 0;
if ((result = c->seekfn (c->cookie, (fpos_t) off, whence)) < 0 && errno)
- ptr->_errno = errno;
+ _REENT_ERRNO(ptr) = errno;
#else /* __LARGE64_FILES */
_fpos64_t result;
errno = 0;
if ((result = c->seekfn (c->cookie, (_fpos64_t) off, whence)) < 0 && errno)
- ptr->_errno = errno;
+ _REENT_ERRNO(ptr) = errno;
else if ((_fpos_t)result != result)
{
- ptr->_errno = EOVERFLOW;
+ _REENT_ERRNO(ptr) = EOVERFLOW;
result = -1;
}
#endif /* __LARGE64_FILES */
@@ -168,7 +168,7 @@ funseeker64 (struct _reent *ptr,
funcookie *c = (funcookie *) cookie;
errno = 0;
if ((result = c->seekfn (c->cookie, off, whence)) < 0 && errno)
- ptr->_errno = errno;
+ _REENT_ERRNO(ptr) = errno;
return result;
}
#endif /* __LARGE64_FILES */
@@ -183,7 +183,7 @@ funcloser (struct _reent *ptr,
{
errno = 0;
if ((result = c->closefn (c->cookie)) < 0 && errno)
- ptr->_errno = errno;
+ _REENT_ERRNO(ptr) = errno;
}
_free_r (ptr, c);
return result;
@@ -202,7 +202,7 @@ _funopen_r (struct _reent *ptr,
if (!readfn && !writefn)
{
- ptr->_errno = EINVAL;
+ _REENT_ERRNO(ptr) = EINVAL;
return NULL;
}
if ((fp = __sfp (ptr)) == NULL)