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;