From b334e6660a405d2d63166ad9e4560421e6810cdc Mon Sep 17 00:00:00 2001 From: Jeff Johnston <jjohnstn@redhat.com> Date: Mon, 29 Apr 2013 21:06:23 +0000 Subject: 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> * libc/stdio/local.h (CHECK_INIT): Evaluate argument only once. (CHECK_STD_INIT): Likewise. * libc/stdio/fgetc.c (fgetc): Use local variable for _REENT. * libc/stdio/fgetwc.c (fwgetc): Likewise. * libc/stdio/fgetws.c (fgetws): Likewise. * libc/stdio/fputc.c (fputc): Likewise. * libc/stdio/fputwc.c (fputwc): Likewise. * libc/stdio/fputws.c (fputws): Likewise. * libc/stdio/getc.c (getc): Likewise. * libc/stdio/getchar.c (_getchar_r): Likewise. * libc/stdio/putc.c (putc): Likewise. * libc/stdio/putchar.c (putchar): Likewise. * libc/stdio/scanf.c (scanf): Likewise. * libc/stdio/setvbuf.c (setvbuf): Likewise. * libc/stdio/ungetwc.c (ungetwc): Likewise. * libc/stdio/vfscanf.c (VFSCANF): Likewise. * libc/stdio/vfwscanf.c (VFWSCANF): Likewise. * libc/stdio/viprintf.c (viprintf): Likewise. * libc/stdio/viscanf.c (viscanf): Likewise. * libc/stdio/vprintf.c (vprintf): Likewise. * libc/stdio/vscanf.c (vscanf): Likewise. * libc/stdio/vwprintf.c (vwprintf): Likewise. * libc/stdio/vwscanf.c (vwscanf): Likewise. * libc/stdio/wscanf.c (wscanf): Likewise. * libc/stdlib/ecvtbuf.c (fcvtbuf): Likewise. (fcvtbuf): Likewise. (ecvtbuf): Likewise. (ecvtbuf): Likewise. * libc/stdlib/mblen.c (mblen): Likewise. * libc/stdlib/mbrlen.c (mbrlen): Likewise. * libc/stdlib/mbrtowc.c (mbrtowc): Likewise. * libc/stdlib/mbtowc.c (mbtowc): Likewise. * libc/stdlib/rand.c (srand): Likewise. (rand): Likewise. * libc/stdlib/wcrtomb.c (wcrtomb): Likewise. * libc/stdlib/wctob.c (wctob): Likewise. * libc/stdlib/wctomb.c (wctomb): Likewise. * libc/string/strtok.c (strtok): Likewise. * libc/time/asctime.c (asctime): Likewise. * libc/time/gmtime.c (gmtime): Likewise. * libc/time/lcltime.c (lcltime): Likewise. --- newlib/libc/stdlib/ecvtbuf.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'newlib/libc/stdlib/ecvtbuf.c') diff --git a/newlib/libc/stdlib/ecvtbuf.c b/newlib/libc/stdlib/ecvtbuf.c index 2b9b9eb..feaa33f 100644 --- a/newlib/libc/stdlib/ecvtbuf.c +++ b/newlib/libc/stdlib/ecvtbuf.c @@ -233,6 +233,7 @@ _DEFUN (fcvtbuf, (invalue, ndigit, decpt, sign, fcvt_buf), int *sign _AND char *fcvt_buf) { + struct _reent *reent = _REENT; char *save; char *p; char *end; @@ -240,27 +241,27 @@ _DEFUN (fcvtbuf, (invalue, ndigit, decpt, sign, fcvt_buf), if (fcvt_buf == NULL) { - if (_REENT->_cvtlen <= ndigit + 35) + if (reent->_cvtlen <= ndigit + 35) { - if ((fcvt_buf = (char *) _realloc_r (_REENT, _REENT->_cvtbuf, + if ((fcvt_buf = (char *) _realloc_r (reent, reent->_cvtbuf, ndigit + 36)) == NULL) return NULL; - _REENT->_cvtlen = ndigit + 36; - _REENT->_cvtbuf = fcvt_buf; + reent->_cvtlen = ndigit + 36; + reent->_cvtbuf = fcvt_buf; } - fcvt_buf = _REENT->_cvtbuf ; + fcvt_buf = reent->_cvtbuf ; } save = fcvt_buf; if (invalue < 1.0 && invalue > -1.0) { - p = _dtoa_r (_REENT, invalue, 2, ndigit, decpt, sign, &end); + p = _dtoa_r (reent, invalue, 2, ndigit, decpt, sign, &end); } else { - p = _dtoa_r (_REENT, invalue, 3, ndigit, decpt, sign, &end); + p = _dtoa_r (reent, invalue, 3, ndigit, decpt, sign, &end); } /* Now copy */ @@ -289,6 +290,7 @@ _DEFUN (ecvtbuf, (invalue, ndigit, decpt, sign, fcvt_buf), int *sign _AND char *fcvt_buf) { + struct _reent *reent = _REENT; char *save; char *p; char *end; @@ -296,21 +298,21 @@ _DEFUN (ecvtbuf, (invalue, ndigit, decpt, sign, fcvt_buf), if (fcvt_buf == NULL) { - if (_REENT->_cvtlen <= ndigit) + if (reent->_cvtlen <= ndigit) { - if ((fcvt_buf = (char *) _realloc_r (_REENT, _REENT->_cvtbuf, + if ((fcvt_buf = (char *) _realloc_r (reent, reent->_cvtbuf, ndigit + 1)) == NULL) return NULL; - _REENT->_cvtlen = ndigit + 1; - _REENT->_cvtbuf = fcvt_buf; + reent->_cvtlen = ndigit + 1; + reent->_cvtbuf = fcvt_buf; } - fcvt_buf = _REENT->_cvtbuf ; + fcvt_buf = reent->_cvtbuf ; } save = fcvt_buf; - p = _dtoa_r (_REENT, invalue, 2, ndigit, decpt, sign, &end); + p = _dtoa_r (reent, invalue, 2, ndigit, decpt, sign, &end); /* Now copy */ -- cgit v1.1