[PATCH 07/14] Add _REENT_INC(ptr)
Sebastian Huber
sebastian.huber@embedded-brains.de
Tue Jun 21 12:49:24 GMT 2022
From: Matt Joyce <matthew.joyce@embedded-brains.de>
Add a _REENT_INC() macro to encapsulate access to the _inc member
of struct reent. This will help to replace the struct member with
a thread-local storage object in a follow up patch.
---
newlib/libc/include/sys/reent.h | 1 +
newlib/libc/stdio/tmpnam.c | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
index c0647cfd9..2c1593a5f 100644
--- a/newlib/libc/include/sys/reent.h
+++ b/newlib/libc/include/sys/reent.h
@@ -720,6 +720,7 @@ struct _reent
#define _REENT_EMERGENCY(_ptr) ((_ptr)->_emergency)
#define _REENT_ERRNO(_ptr) ((_ptr)->_errno)
+#define _REENT_INC(_ptr) ((_ptr)->_inc)
#define _REENT_STDIN(_ptr) ((_ptr)->_stdin)
#define _REENT_STDOUT(_ptr) ((_ptr)->_stdout)
#define _REENT_STDERR(_ptr) ((_ptr)->_stderr)
diff --git a/newlib/libc/stdio/tmpnam.c b/newlib/libc/stdio/tmpnam.c
index 7379a7640..2767b4b20 100644
--- a/newlib/libc/stdio/tmpnam.c
+++ b/newlib/libc/stdio/tmpnam.c
@@ -135,9 +135,9 @@ _tmpnam_r (struct _reent *p,
}
pid = _getpid_r (p);
- if (worker (p, result, P_tmpdir, "t", pid, &p->_inc))
+ if (worker (p, result, P_tmpdir, "t", pid, &_REENT_INC(p)))
{
- p->_inc++;
+ _REENT_INC(p)++;
return result;
}
@@ -162,7 +162,7 @@ _tempnam_r (struct _reent *p,
if (filename)
{
if (! worker (p, filename, dir, prefix,
- _getpid_r (p) ^ (int) (_POINTER_INT) p, &p->_inc))
+ _getpid_r (p) ^ (int) (_POINTER_INT) p, &_REENT_INC(p)))
return NULL;
}
return filename;
--
2.35.3
More information about the Newlib
mailing list