[PATCH 10/14] Add _REENT_CVTLEN(ptr)

Sebastian Huber sebastian.huber@embedded-brains.de
Tue Jun 21 12:49:27 GMT 2022


From: Matt Joyce <matthew.joyce@embedded-brains.de>

Add a _REENT_CVTLEN() macro to encapsulate access to the _cvtlen
member of struct reent. This will help to replace the struct
member with a thread-local storage object in a follow-up patch.
---
 newlib/libc/include/sys/reent.h | 1 +
 newlib/libc/stdlib/ecvtbuf.c    | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
index 3d277638f..8c88fae20 100644
--- a/newlib/libc/include/sys/reent.h
+++ b/newlib/libc/include/sys/reent.h
@@ -719,6 +719,7 @@ struct _reent
 #endif /* !_REENT_SMALL */
 
 #define _REENT_CLEANUP(_ptr)	((_ptr)->__cleanup)
+#define _REENT_CVTLEN(_ptr)	((_ptr)->_cvtlen)
 #define _REENT_EMERGENCY(_ptr)	((_ptr)->_emergency)
 #define _REENT_ERRNO(_ptr)	((_ptr)->_errno)
 #define _REENT_INC(_ptr)	((_ptr)->_inc)
diff --git a/newlib/libc/stdlib/ecvtbuf.c b/newlib/libc/stdlib/ecvtbuf.c
index 0cb11f889..0e776ab65 100644
--- a/newlib/libc/stdlib/ecvtbuf.c
+++ b/newlib/libc/stdlib/ecvtbuf.c
@@ -230,12 +230,12 @@ fcvtbuf (double invalue,
 
   if (fcvt_buf == NULL)
     {
-      if (reent->_cvtlen <= ndigit + 35)
+      if (_REENT_CVTLEN(reent) <= ndigit + 35)
 	{
 	  if ((fcvt_buf = (char *) _realloc_r (reent, reent->_cvtbuf,
 					       ndigit + 36)) == NULL)
 	    return NULL;
-	  reent->_cvtlen = ndigit + 36;
+	  _REENT_CVTLEN(reent) = ndigit + 36;
 	  reent->_cvtbuf = fcvt_buf;
 	}
 
@@ -279,12 +279,12 @@ ecvtbuf (double invalue,
 
   if (fcvt_buf == NULL)
     {
-      if (reent->_cvtlen <= ndigit)
+      if (_REENT_CVTLEN(reent) <= ndigit)
 	{
 	  if ((fcvt_buf = (char *) _realloc_r (reent, reent->_cvtbuf,
 					       ndigit + 1)) == NULL)
 	    return NULL;
-	  reent->_cvtlen = ndigit + 1;
+	  _REENT_CVTLEN(reent) = ndigit + 1;
 	  reent->_cvtbuf = fcvt_buf;
 	}
 
-- 
2.35.3



More information about the Newlib mailing list