From 7c9e1c8dca94df67f124451c8951faff80b6b321 Mon Sep 17 00:00:00 2001 From: joerg Date: Fri, 19 Apr 2013 18:45:03 +0000 Subject: More locale hacks. --- distrib/utils/libhack/multibyte.c | 60 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) (limited to 'distrib/utils/libhack') diff --git a/distrib/utils/libhack/multibyte.c b/distrib/utils/libhack/multibyte.c index eef49264903..4955d1bd1ef 100644 --- a/distrib/utils/libhack/multibyte.c +++ b/distrib/utils/libhack/multibyte.c @@ -1,4 +1,4 @@ -/* $NetBSD: multibyte.c,v 1.4 2008/07/29 13:46:16 tnozaki Exp $ */ +/* $NetBSD: multibyte.c,v 1.5 2013/04/19 18:45:03 joerg Exp $ */ /* * Ignore all multibyte sequences, removes all the citrus code. @@ -6,6 +6,7 @@ * And possibly from libcurses if compiled with HAVE_WCHAR. */ +#include #include size_t @@ -14,6 +15,12 @@ mbrtowc(wchar_t *wc, const char *str, size_t max_sz, mbstate_t *ps) return str == NULL || (*wc = (unsigned char)*str) == 0 ? 0 : 1; } +size_t +mbrtowc_l(wchar_t *wc, const char *str, size_t max_sz, mbstate_t *ps, locale_t loc) +{ + return mbrtowc(wc, str, max_sz, ps); +} + size_t wcrtomb(char *str, wchar_t wc, mbstate_t *ps) { @@ -21,14 +28,34 @@ wcrtomb(char *str, wchar_t wc, mbstate_t *ps) return 1; } + +size_t +wcrtomb_l(char *str, wchar_t wc, mbstate_t *ps, locale_t loc) +{ + return wcrtomb(str, wc, ps); +} + int wctob(wint_t x) { return x; } +int +wctob_l(wint_t x, locale_t loc) +{ + return x; +} + +wint_t +btowc(int x) +{ + return x; +} + wint_t -btowc(int x) { +btowc_l(int x, locale_t loc) +{ return x; } @@ -42,6 +69,14 @@ mbrlen(const char * __restrict p, size_t l, mbstate_t * __restrict v) return l; } + +size_t +mbrlen_l(const char * __restrict p, size_t l, mbstate_t * __restrict v, + locale_t loc) +{ + return mbrlen(p, l, v); +} + int mbsinit(const mbstate_t *s) { @@ -66,6 +101,14 @@ mbsrtowcs(wchar_t * __restrict pwcs, const char ** __restrict s, size_t n, return count; } + +size_t +mbsrtowcs_l(wchar_t * __restrict pwcs, const char ** __restrict s, size_t n, + mbstate_t * __restrict ps, locale_t loc) +{ + return mbsrtowcs(pwcs, s, n, ps); +} + size_t wcsrtombs(char * __restrict s, const wchar_t ** __restrict pwcs, size_t n, mbstate_t * __restrict ps) @@ -83,3 +126,16 @@ wcsrtombs(char * __restrict s, const wchar_t ** __restrict pwcs, size_t n, *d = 0; return count; } + +size_t +wcsrtombs_l(char * __restrict s, const wchar_t ** __restrict pwcs, size_t n, + mbstate_t * __restrict ps, locale_t loc) +{ + return wcsrtombs(s, pwcs, n, ps); +} + +size_t +_mb_cur_max_l(locale_t loc) +{ + return MB_CUR_MAX; +} -- cgit