[newlib-cygwin] Add _REENT_INC(ptr)
Sebastian Huber
sh@sourceware.org
Wed Jul 13 08:19:38 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=0985d418cb2d0a5ba56518e9e1fb9a31f3c7ba48
commit 0985d418cb2d0a5ba56518e9e1fb9a31f3c7ba48
Author: Matt Joyce <matthew.joyce@embedded-brains.de>
Date: Wed Feb 2 09:49:00 2022 +0100
Add _REENT_INC(ptr)
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.
Diff:
---
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;
More information about the Newlib-cvs
mailing list