[PATCH 10/14] Add _REENT_CVTLEN(ptr)

Sebastian Huber <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
From: Matt Joyce <[email protected]>

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.