Add _REENT_INIT_PTR_ZEROED()

Provide a _REENT_INIT_PTR_ZEROED() macro to initialize an already
zero-initialized struct _reent.

	* libc/include/sys/reent.h (_REENT_INIT_PTR_ZEROED): New.
	(_REENT_INIT_PTR): Define only once and use _REENT_INIT_PTR_ZEROED().
This commit is contained in:
Sebastian Huber 2015-12-14 09:57:54 +01:00 committed by Corinna Vinschen
parent 01885f533d
commit f376e4f93b
2 changed files with 14 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2015-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/sys/reent.h (_REENT_INIT_PTR_ZEROED): New.
(_REENT_INIT_PTR): Define only once and use _REENT_INIT_PTR_ZEROED().
2015-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/sys/_sigset.h: New.

View File

@ -446,9 +446,8 @@ extern const struct __sFILE_fake __sf_fake_stderr;
_NULL \
}
#define _REENT_INIT_PTR(var) \
{ memset((var), 0, sizeof(*(var))); \
(var)->_stdin = (__FILE *)&__sf_fake_stdin; \
#define _REENT_INIT_PTR_ZEROED(var) \
{ (var)->_stdin = (__FILE *)&__sf_fake_stdin; \
(var)->_stdout = (__FILE *)&__sf_fake_stdout; \
(var)->_stderr = (__FILE *)&__sf_fake_stderr; \
(var)->_current_locale = "C"; \
@ -694,9 +693,8 @@ struct _reent
{_NULL, 0, _NULL} \
}
#define _REENT_INIT_PTR(var) \
{ memset((var), 0, sizeof(*(var))); \
(var)->_stdin = &(var)->__sf[0]; \
#define _REENT_INIT_PTR_ZEROED(var) \
{ (var)->_stdin = &(var)->__sf[0]; \
(var)->_stdout = &(var)->__sf[1]; \
(var)->_stderr = &(var)->__sf[2]; \
(var)->_current_locale = "C"; \
@ -745,6 +743,11 @@ struct _reent
#endif /* !_REENT_SMALL */
#define _REENT_INIT_PTR(var) \
{ memset((var), 0, sizeof(*(var))); \
_REENT_INIT_PTR_ZEROED(var); \
}
/* This value is used in stdlib/misc.c. reent/reent.c has to know it
as well to make sure the freelist is correctly free'd. Therefore
we define it here, rather than in stdlib/misc.c, as before. */