Module Name: src Committed By: riastradh Date: Tue Aug 20 17:43:24 UTC 2024
Modified Files: src/lib/libc/locale: mbrtoc32.c Log Message: mbrtoc32(3): Fix name and type of mbrtowc_l return value. This was from `int mbtowc_l(...)' in an earlier draft and I didn't update it to size_t when I changed the draft to mbrtowc_l. Caught by lint. `mb_len' avoids (harmless) clash with standard C function mblen(3). PR lib/58618: mbrtocN(3) fails to keep shift state To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/lib/libc/locale/mbrtoc32.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/locale/mbrtoc32.c diff -u src/lib/libc/locale/mbrtoc32.c:1.8 src/lib/libc/locale/mbrtoc32.c:1.9 --- src/lib/libc/locale/mbrtoc32.c:1.8 Tue Aug 20 17:43:09 2024 +++ src/lib/libc/locale/mbrtoc32.c Tue Aug 20 17:43:24 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: mbrtoc32.c,v 1.8 2024/08/20 17:43:09 riastradh Exp $ */ +/* $NetBSD: mbrtoc32.c,v 1.9 2024/08/20 17:43:24 riastradh Exp $ */ /*- * Copyright (c) 2024 The NetBSD Foundation, Inc. @@ -52,7 +52,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: mbrtoc32.c,v 1.8 2024/08/20 17:43:09 riastradh Exp $"); +__RCSID("$NetBSD: mbrtoc32.c,v 1.9 2024/08/20 17:43:24 riastradh Exp $"); #include "namespace.h" @@ -106,7 +106,7 @@ mbrtoc32_l(char32_t *restrict pc32, cons wchar_t wc; mbstate_t wcrtombstate = {0}; char mb[MB_LEN_MAX]; - int mblen; + size_t mb_len; char utf32le[MB_LEN_MAX]; const char *src; char *dst; @@ -191,7 +191,7 @@ mbrtoc32_l(char32_t *restrict pc32, cons * we can pass that through iconv to get a Unicode scalar * value. */ - if ((mblen = wcrtomb_l(mb, wc, &wcrtombstate, loc)) == -1) { + if ((mb_len = wcrtomb_l(mb, wc, &wcrtombstate, loc)) == (size_t)-1) { len = (size_t)-1; goto out; } @@ -200,7 +200,7 @@ mbrtoc32_l(char32_t *restrict pc32, cons * Convert the multibyte sequence to UTF-16LE. */ src = mb; - srcleft = (size_t)mblen; + srcleft = mb_len; dst = utf32le; dstleft = sizeof(utf32le); error = _citrus_iconv_convert(iconv, &src, &srcleft, &dst, &dstleft,