scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit 8475094bf2b26b40e5884dbe790222dc904fd217
parent 0b0912907edf1f93e405cb9ba00f8b6a146d09b5
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Sun,  6 Nov 2022 14:35:49 +0100

libc/wchar: Add mbrlen()

Diffstat:
Minclude/wchar.h | 3+++
Msrc/libc/objs/common-objs.mk | 1+
Msrc/libc/wchar/Makefile | 1+
Asrc/libc/wchar/mbrlen.c | 9+++++++++
4 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/include/wchar.h b/include/wchar.h @@ -93,4 +93,7 @@ extern size_t wcrtomb(char *restrict, wchar_t, mbstate_t *restrict); extern size_t mbsrtowcs(wchar_t *restrict, const char **restrict, size_t, mbstate_t *restrict); extern size_t wcsrtombs(char *restrict, const wchar_t **restrict, size_t, mbstate_t *restrict); extern int wcwidth(wchar_t); + +#define mbrlen(s, n, ps) mbrtowc(NULL, s, n, ps) + #endif diff --git a/src/libc/objs/common-objs.mk b/src/libc/objs/common-objs.mk @@ -116,5 +116,6 @@ COMMON_OBJS =\ time/mktime.$O\ time/strftime.$O\ time/tz.$O\ + wchar/mbrlen.$O\ wchar/mbrtowc.$O\ wchar/wcwidth.$O\ diff --git a/src/libc/wchar/Makefile b/src/libc/wchar/Makefile @@ -4,6 +4,7 @@ include $(PROJECTDIR)/scripts/rules.mk include ../rules.mk OBJS =\ + mbrlen.$O\ mbrtowc.$O\ wcwidth.$O\ diff --git a/src/libc/wchar/mbrlen.c b/src/libc/wchar/mbrlen.c @@ -0,0 +1,9 @@ +#include <wchar.h> + +#undef mbrlen + +size_t +mbrlen(const char *restrict s, size_t n, mbstate_t *restrict ps) +{ + return mbrtowc(NULL, s, n, ps); +}