diff options
Diffstat (limited to 'newlib/libc/include/sys/reent.h')
-rw-r--r-- | newlib/libc/include/sys/reent.h | 198 |
1 files changed, 93 insertions, 105 deletions
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h index fffb05de0..39785d77d 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -149,19 +149,8 @@ struct __sFILE_fake { struct _reent *_data; }; - -/* Following is needed both in libc/stdio and libc/stdlib so we put it - * here instead of libc/stdio/local.h where it was previously. */ - -extern _VOID _EXFUN(__sinit,(struct _reent *)); - -# define _REENT_SMALL_CHECK_INIT(ptr) \ - do \ - { \ - if ((ptr) && !(ptr)->__sdidinit) \ - __sinit (ptr); \ - } \ - while (0) +/* CHECK_STD_INIT() comes from stdio/local.h; be sure to include that. */ +# define _REENT_SMALL_CHECK_INIT(ptr) CHECK_STD_INIT(ptr) #else # define _REENT_SMALL_CHECK_INIT(ptr) /* nothing */ #endif @@ -430,35 +419,35 @@ extern const struct __sFILE_fake __sf_fake_stderr; } #define _REENT_INIT_PTR(var) \ - { (var)->_stdin = (__FILE *)&__sf_fake_stdin; \ - (var)->_stdout = (__FILE *)&__sf_fake_stdout; \ - (var)->_stderr = (__FILE *)&__sf_fake_stderr; \ - (var)->_errno = 0; \ - (var)->_inc = 0; \ - (var)->_emergency = _NULL; \ - (var)->__sdidinit = 0; \ - (var)->_current_category = 0; \ - (var)->_current_locale = "C"; \ - (var)->_mp = _NULL; \ - (var)->__cleanup = _NULL; \ - (var)->_gamma_signgam = 0; \ - (var)->_cvtlen = 0; \ - (var)->_cvtbuf = _NULL; \ - (var)->_r48 = _NULL; \ - (var)->_localtime_buf = _NULL; \ - (var)->_asctime_buf = _NULL; \ - (var)->_sig_func = _NULL; \ - (var)->_atexit = _NULL; \ - (var)->_atexit0._next = _NULL; \ - (var)->_atexit0._ind = 0; \ - (var)->_atexit0._fns[0] = _NULL; \ - (var)->_atexit0._on_exit_args_ptr = _NULL; \ - (var)->__sglue._next = _NULL; \ - (var)->__sglue._niobs = 0; \ - (var)->__sglue._iobs = _NULL; \ - (var)->__sf = 0; \ - (var)->_misc = _NULL; \ - (var)->_signal_buf = _NULL; \ + { var->_stdin = (__FILE *)&__sf_fake_stdin; \ + var->_stdout = (__FILE *)&__sf_fake_stdout; \ + var->_stderr = (__FILE *)&__sf_fake_stderr; \ + var->_errno = 0; \ + var->_inc = 0; \ + var->_emergency = _NULL; \ + var->__sdidinit = 0; \ + var->_current_category = 0; \ + var->_current_locale = "C"; \ + var->_mp = _NULL; \ + var->__cleanup = _NULL; \ + var->_gamma_signgam = 0; \ + var->_cvtlen = 0; \ + var->_cvtbuf = _NULL; \ + var->_r48 = _NULL; \ + var->_localtime_buf = _NULL; \ + var->_asctime_buf = _NULL; \ + var->_sig_func = _NULL; \ + var->_atexit = _NULL; \ + var->_atexit0._next = _NULL; \ + var->_atexit0._ind = 0; \ + var->_atexit0._fns[0] = _NULL; \ + var->_atexit0._on_exit_args_ptr = _NULL; \ + var->__sglue._next = _NULL; \ + var->__sglue._niobs = 0; \ + var->__sglue._iobs = _NULL; \ + var->__sf = 0; \ + var->_misc = _NULL; \ + var->_signal_buf = _NULL; \ } /* Only built the assert() calls if we are built with debugging. */ @@ -623,7 +612,6 @@ struct _reent _mbstate_t _mbsrtowcs_state; _mbstate_t _wcrtomb_state; _mbstate_t _wcsrtombs_state; - int _h_errno; } _reent; /* Two next two fields were once used by malloc. They are no longer used. They are used to preserve the space used before so as to @@ -652,9 +640,9 @@ struct _reent #define _REENT_INIT(var) \ { 0, \ - &(var).__sf[0], \ - &(var).__sf[1], \ - &(var).__sf[2], \ + &var.__sf[0], \ + &var.__sf[1], \ + &var.__sf[2], \ 0, \ "", \ 0, \ @@ -700,65 +688,65 @@ struct _reent } #define _REENT_INIT_PTR(var) \ - { (var)->_errno = 0; \ - (var)->_stdin = &(var)->__sf[0]; \ - (var)->_stdout = &(var)->__sf[1]; \ - (var)->_stderr = &(var)->__sf[2]; \ - (var)->_inc = 0; \ - memset(&(var)->_emergency, 0, sizeof((var)->_emergency)); \ - (var)->_current_category = 0; \ - (var)->_current_locale = "C"; \ - (var)->__sdidinit = 0; \ - (var)->__cleanup = _NULL; \ - (var)->_result = _NULL; \ - (var)->_result_k = 0; \ - (var)->_p5s = _NULL; \ - (var)->_freelist = _NULL; \ - (var)->_cvtlen = 0; \ - (var)->_cvtbuf = _NULL; \ - (var)->_new._reent._unused_rand = 0; \ - (var)->_new._reent._strtok_last = _NULL; \ - (var)->_new._reent._asctime_buf[0] = 0; \ - memset(&(var)->_new._reent._localtime_buf, 0, sizeof((var)->_new._reent._localtime_buf)); \ - (var)->_new._reent._gamma_signgam = 0; \ - (var)->_new._reent._rand_next = 1; \ - (var)->_new._reent._r48._seed[0] = _RAND48_SEED_0; \ - (var)->_new._reent._r48._seed[1] = _RAND48_SEED_1; \ - (var)->_new._reent._r48._seed[2] = _RAND48_SEED_2; \ - (var)->_new._reent._r48._mult[0] = _RAND48_MULT_0; \ - (var)->_new._reent._r48._mult[1] = _RAND48_MULT_1; \ - (var)->_new._reent._r48._mult[2] = _RAND48_MULT_2; \ - (var)->_new._reent._r48._add = _RAND48_ADD; \ - (var)->_new._reent._mblen_state.__count = 0; \ - (var)->_new._reent._mblen_state.__value.__wch = 0; \ - (var)->_new._reent._mbtowc_state.__count = 0; \ - (var)->_new._reent._mbtowc_state.__value.__wch = 0; \ - (var)->_new._reent._wctomb_state.__count = 0; \ - (var)->_new._reent._wctomb_state.__value.__wch = 0; \ - (var)->_new._reent._mbrlen_state.__count = 0; \ - (var)->_new._reent._mbrlen_state.__value.__wch = 0; \ - (var)->_new._reent._mbrtowc_state.__count = 0; \ - (var)->_new._reent._mbrtowc_state.__value.__wch = 0; \ - (var)->_new._reent._mbsrtowcs_state.__count = 0; \ - (var)->_new._reent._mbsrtowcs_state.__value.__wch = 0; \ - (var)->_new._reent._wcrtomb_state.__count = 0; \ - (var)->_new._reent._wcrtomb_state.__value.__wch = 0; \ - (var)->_new._reent._wcsrtombs_state.__count = 0; \ - (var)->_new._reent._wcsrtombs_state.__value.__wch = 0; \ - (var)->_new._reent._l64a_buf[0] = '\0'; \ - (var)->_new._reent._signal_buf[0] = '\0'; \ - (var)->_new._reent._getdate_err = 0; \ - (var)->_atexit = _NULL; \ - (var)->_atexit0._next = _NULL; \ - (var)->_atexit0._ind = 0; \ - (var)->_atexit0._fns[0] = _NULL; \ - (var)->_atexit0._on_exit_args._fntypes = 0; \ - (var)->_atexit0._on_exit_args._fnargs[0] = _NULL; \ - (var)->_sig_func = _NULL; \ - (var)->__sglue._next = _NULL; \ - (var)->__sglue._niobs = 0; \ - (var)->__sglue._iobs = _NULL; \ - memset(&(var)->__sf, 0, sizeof((var)->__sf)); \ + { var->_errno = 0; \ + var->_stdin = &var->__sf[0]; \ + var->_stdout = &var->__sf[1]; \ + var->_stderr = &var->__sf[2]; \ + var->_inc = 0; \ + memset(&var->_emergency, 0, sizeof(var->_emergency)); \ + var->_current_category = 0; \ + var->_current_locale = "C"; \ + var->__sdidinit = 0; \ + var->__cleanup = _NULL; \ + var->_result = _NULL; \ + var->_result_k = 0; \ + var->_p5s = _NULL; \ + var->_freelist = _NULL; \ + var->_cvtlen = 0; \ + var->_cvtbuf = _NULL; \ + var->_new._reent._unused_rand = 0; \ + var->_new._reent._strtok_last = _NULL; \ + var->_new._reent._asctime_buf[0] = 0; \ + memset(&var->_new._reent._localtime_buf, 0, sizeof(var->_new._reent._localtime_buf)); \ + var->_new._reent._gamma_signgam = 0; \ + var->_new._reent._rand_next = 1; \ + var->_new._reent._r48._seed[0] = _RAND48_SEED_0; \ + var->_new._reent._r48._seed[1] = _RAND48_SEED_1; \ + var->_new._reent._r48._seed[2] = _RAND48_SEED_2; \ + var->_new._reent._r48._mult[0] = _RAND48_MULT_0; \ + var->_new._reent._r48._mult[1] = _RAND48_MULT_1; \ + var->_new._reent._r48._mult[2] = _RAND48_MULT_2; \ + var->_new._reent._r48._add = _RAND48_ADD; \ + var->_new._reent._mblen_state.__count = 0; \ + var->_new._reent._mblen_state.__value.__wch = 0; \ + var->_new._reent._mbtowc_state.__count = 0; \ + var->_new._reent._mbtowc_state.__value.__wch = 0; \ + var->_new._reent._wctomb_state.__count = 0; \ + var->_new._reent._wctomb_state.__value.__wch = 0; \ + var->_new._reent._mbrlen_state.__count = 0; \ + var->_new._reent._mbrlen_state.__value.__wch = 0; \ + var->_new._reent._mbrtowc_state.__count = 0; \ + var->_new._reent._mbrtowc_state.__value.__wch = 0; \ + var->_new._reent._mbsrtowcs_state.__count = 0; \ + var->_new._reent._mbsrtowcs_state.__value.__wch = 0; \ + var->_new._reent._wcrtomb_state.__count = 0; \ + var->_new._reent._wcrtomb_state.__value.__wch = 0; \ + var->_new._reent._wcsrtombs_state.__count = 0; \ + var->_new._reent._wcsrtombs_state.__value.__wch = 0; \ + var->_new._reent._l64a_buf[0] = '\0'; \ + var->_new._reent._signal_buf[0] = '\0'; \ + var->_new._reent._getdate_err = 0; \ + var->_atexit = _NULL; \ + var->_atexit0._next = _NULL; \ + var->_atexit0._ind = 0; \ + var->_atexit0._fns[0] = _NULL; \ + var->_atexit0._on_exit_args._fntypes = 0; \ + var->_atexit0._on_exit_args._fnargs[0] = _NULL; \ + var->_sig_func = _NULL; \ + var->__sglue._next = _NULL; \ + var->__sglue._niobs = 0; \ + var->__sglue._iobs = _NULL; \ + memset(&var->__sf, 0, sizeof(var->__sf)); \ } #define _REENT_CHECK_RAND48(ptr) /* nothing */ |