diff options
author | Jakob Kaivo <jkk@ung.org> | 2024-06-05 14:35:40 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2024-06-05 14:35:40 -0400 |
commit | d105976002aa32a3cbe42b7f06a0dcba5d176afd (patch) | |
tree | ccd57fa63807cb15cc08eb43231b15b60c660d5f /src/wchar/mbsinit.c | |
parent | 9252dc08f0a9ac7507b28e55b8ae7e4df605c79d (diff) |
implement tracking mechanisms for mbstate_t
Diffstat (limited to 'src/wchar/mbsinit.c')
-rw-r--r-- | src/wchar/mbsinit.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/wchar/mbsinit.c b/src/wchar/mbsinit.c index 52640483..9b41e2a2 100644 --- a/src/wchar/mbsinit.c +++ b/src/wchar/mbsinit.c @@ -1,12 +1,16 @@ -#if 0 - #include <wchar.h> +#include "_wchar.h" int mbsinit(const mbstate_t * ps) { SIGNAL_SAFE(0); - if (ps == NULL || *ps == 0) { + if (ps == NULL || ps->__impl == NULL) { + return 1; + } + + struct __mbstate_t *m = ps->__impl; + if (m->ctype_epoch == 0 && m->dir == NONE && m->mbs == NULL && m->wcs == NULL) { return 1; } @@ -16,6 +20,3 @@ int mbsinit(const mbstate_t * ps) /* STDC(199409) */ - - -#endif |