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.
This commit is contained in:
Matt Joyce 2022-05-16 10:54:31 +02:00 committed by Sebastian Huber
parent a3fe1ed573
commit d0d78e96eb
2 changed files with 4 additions and 4 deletions

View File

@ -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); \

View File

@ -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)