diff options
author | Matt Joyce <matthew.joyce@embedded-brains.de> | 2022-05-16 10:54:31 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-07-13 06:50:25 +0200 |
commit | d0d78e96ebf4187fb9362465f1a397680447046f (patch) | |
tree | 1ce66071745fc2e569b973053aac0780a7cde55b | |
parent | a3fe1ed573dddcfd905183e6b5fa60bd7cfa661d (diff) | |
download | newlib-d0d78e96ebf4187fb9362465f1a397680447046f.zip newlib-d0d78e96ebf4187fb9362465f1a397680447046f.tar.gz newlib-d0d78e96ebf4187fb9362465f1a397680447046f.tar.bz2 |
Define _REENT_EMERGENCY(ptr) only once
Use this macro to access the _emergency member of struct _reent. This macro
will help to replace the _emergency member of struct _reent with a thread-local
storage object in a follow up patch.
-rw-r--r-- | newlib/libc/include/sys/reent.h | 4 | ||||
-rw-r--r-- | newlib/libc/reent/reent.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h index e9bded6..2b0ff46 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -531,7 +531,6 @@ struct _reent #define _REENT_MP_FREELIST(ptr) ((ptr)->_mp->_freelist) #define _REENT_ASCTIME_BUF(ptr) ((ptr)->_asctime_buf) #define _REENT_TM(ptr) ((ptr)->_localtime_buf) -#define _REENT_EMERGENCY(ptr) ((ptr)->_emergency) #define _REENT_STRTOK_LAST(ptr) ((ptr)->_misc->_strtok_last) #define _REENT_MBLEN_STATE(ptr) ((ptr)->_misc->_mblen_state) #define _REENT_MBTOWC_STATE(ptr)((ptr)->_misc->_mbtowc_state) @@ -704,7 +703,6 @@ struct _reent #define _REENT_MP_FREELIST(ptr) ((ptr)->_freelist) #define _REENT_ASCTIME_BUF(ptr) ((ptr)->_new._reent._asctime_buf) #define _REENT_TM(ptr) (&(ptr)->_new._reent._localtime_buf) -#define _REENT_EMERGENCY(ptr) ((ptr)->_emergency) #define _REENT_STRTOK_LAST(ptr) ((ptr)->_new._reent._strtok_last) #define _REENT_MBLEN_STATE(ptr) ((ptr)->_new._reent._mblen_state) #define _REENT_MBTOWC_STATE(ptr)((ptr)->_new._reent._mbtowc_state) @@ -720,6 +718,8 @@ struct _reent #endif /* !_REENT_SMALL */ +#define _REENT_EMERGENCY(_ptr) ((_ptr)->_emergency) + #define _REENT_INIT_PTR(var) \ { memset((var), 0, sizeof(*(var))); \ _REENT_INIT_PTR_ZEROED(var); \ diff --git a/newlib/libc/reent/reent.c b/newlib/libc/reent/reent.c index d614159..a9d44b4 100644 --- a/newlib/libc/reent/reent.c +++ b/newlib/libc/reent/reent.c @@ -62,8 +62,8 @@ _reclaim_reent (struct _reent *ptr) #endif #ifdef _REENT_SMALL - if (ptr->_emergency) - _free_r (ptr, ptr->_emergency); + if (_REENT_EMERGENCY(ptr)) + _free_r (ptr, _REENT_EMERGENCY(ptr)); if (ptr->_mp) _free_r (ptr, ptr->_mp); if (ptr->_r48) |