[PATCH 02/14] Define _REENT_EMERGENCY(ptr) only once
Sebastian Huber
sebastian.huber@embedded-brains.de
Tue Jun 21 12:49:19 GMT 2022
From: Matt Joyce <matthew.joyce@embedded-brains.de>
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.
---
newlib/libc/include/sys/reent.h | 4 ++--
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 e9bded6c7..2b0ff46b7 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 d61415901..a9d44b455 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)
--
2.35.3
More information about the Newlib
mailing list