Add _REENT_CVTBUF(ptr)
Add a _REENT_CVTBUF() macro to encapsulate access to the _cvtbuf member of struct reent. This will help to replace the struct member with a thread-local storage object in a follow up patch.
This commit is contained in:
parent
315c420e1b
commit
81352a9df9
|
@ -719,6 +719,7 @@ struct _reent
|
|||
#endif /* !_REENT_SMALL */
|
||||
|
||||
#define _REENT_CLEANUP(_ptr) ((_ptr)->__cleanup)
|
||||
#define _REENT_CVTBUF(_ptr) ((_ptr)->_cvtbuf)
|
||||
#define _REENT_CVTLEN(_ptr) ((_ptr)->_cvtlen)
|
||||
#define _REENT_EMERGENCY(_ptr) ((_ptr)->_emergency)
|
||||
#define _REENT_ERRNO(_ptr) ((_ptr)->_errno)
|
||||
|
|
|
@ -78,8 +78,8 @@ _reclaim_reent (struct _reent *ptr)
|
|||
_free_r (ptr, ptr->_misc);
|
||||
#endif
|
||||
|
||||
if (ptr->_cvtbuf)
|
||||
_free_r (ptr, ptr->_cvtbuf);
|
||||
if (_REENT_CVTBUF(ptr))
|
||||
_free_r (ptr, _REENT_CVTBUF(ptr));
|
||||
/* We should free _sig_func to avoid a memory leak, but how to
|
||||
do it safely considering that a signal may be delivered immediately
|
||||
after the free?
|
||||
|
|
|
@ -232,14 +232,14 @@ fcvtbuf (double invalue,
|
|||
{
|
||||
if (_REENT_CVTLEN(reent) <= ndigit + 35)
|
||||
{
|
||||
if ((fcvt_buf = (char *) _realloc_r (reent, reent->_cvtbuf,
|
||||
if ((fcvt_buf = (char *) _realloc_r (reent, _REENT_CVTBUF(reent),
|
||||
ndigit + 36)) == NULL)
|
||||
return NULL;
|
||||
_REENT_CVTLEN(reent) = ndigit + 36;
|
||||
reent->_cvtbuf = fcvt_buf;
|
||||
_REENT_CVTBUF(reent) = fcvt_buf;
|
||||
}
|
||||
|
||||
fcvt_buf = reent->_cvtbuf ;
|
||||
fcvt_buf = _REENT_CVTBUF(reent) ;
|
||||
}
|
||||
|
||||
save = fcvt_buf;
|
||||
|
@ -281,14 +281,14 @@ ecvtbuf (double invalue,
|
|||
{
|
||||
if (_REENT_CVTLEN(reent) <= ndigit)
|
||||
{
|
||||
if ((fcvt_buf = (char *) _realloc_r (reent, reent->_cvtbuf,
|
||||
if ((fcvt_buf = (char *) _realloc_r (reent, _REENT_CVTBUF(reent),
|
||||
ndigit + 1)) == NULL)
|
||||
return NULL;
|
||||
_REENT_CVTLEN(reent) = ndigit + 1;
|
||||
reent->_cvtbuf = fcvt_buf;
|
||||
_REENT_CVTBUF(reent) = fcvt_buf;
|
||||
}
|
||||
|
||||
fcvt_buf = reent->_cvtbuf ;
|
||||
fcvt_buf = _REENT_CVTBUF(reent) ;
|
||||
}
|
||||
|
||||
save = fcvt_buf;
|
||||
|
|
Loading…
Reference in New Issue