libc/wchar: Add mbsinit() - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
(DIR) commit 3eedc954682df1ec5b47667cc27a9ab69642e7b1
(DIR) parent 21df8da7aed52515d5149538a9a1c5d622e4a166
(HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Wed, 26 Feb 2025 10:14:10 +0100
libc/wchar: Add mbsinit()
As we only support utf8 for multibyte streams the
implementation of mbsinit() is trivial because utf8
is stateless.
Diffstat:
M src/libc/objs/common-objs.mk | 1 +
M src/libc/wchar/Makefile | 1 +
A src/libc/wchar/mbsinit.c | 11 +++++++++++
3 files changed, 13 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/src/libc/objs/common-objs.mk b/src/libc/objs/common-objs.mk
@@ -123,6 +123,7 @@ COMMON_OBJS =\
wchar/fputwc.$O\
wchar/mbrlen.$O\
wchar/mbrtowc.$O\
+ wchar/mbsinit.$O\
wchar/mbsrtowcs.$O\
wchar/wcrtomb.$O\
wchar/wcslen.$O\
(DIR) diff --git a/src/libc/wchar/Makefile b/src/libc/wchar/Makefile
@@ -7,6 +7,7 @@ OBJS =\
fputwc.$O\
mbrlen.$O\
mbrtowc.$O\
+ mbsinit.$O\
mbsrtowcs.$O\
wcrtomb.$O\
wcslen.$O\
(DIR) diff --git a/src/libc/wchar/mbsinit.c b/src/libc/wchar/mbsinit.c
@@ -0,0 +1,11 @@
+#include <wchar.h>
+
+#undef mbsinit
+
+int
+mbsinit(const mbstate_t *ps)
+{
+ if (!ps)
+ return 1;
+ return *ps == 0;
+}