From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id F3A873858CDB; Mon, 5 Feb 2024 09:38:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3A873858CDB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1707125924; bh=RqeGakDxHwxezaQre8VuFYD5uza6pFhxXpkjeciNZk4=; h=From:To:Subject:Date:From; b=BPgkjdqwEeh/Lly9gvIaELB+mOV1EfFmG6EFJ8Q/V1ISSY4TZlaitAxi385PsrLyx haScftuTOFP5nnWfPMovlwW5anY4Sf3orOLWo/NtzXlEXgM/Lth9GS35RhDmG8dqZl MthqJ2V+kCmEOCqpyMcN7obMBNI9mV60lmD/ddQ8= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: newlib-cvs@sourceware.org Subject: [newlib-cygwin/main] getlocalename_l: fix _reent for _REENT_SMALL targets X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/main X-Git-Oldrev: 35b10bb8c6c0499202827cb6c52a01ce169ef98d X-Git-Newrev: bfb68a9e6e43bb6a7fbbaca3e1e18f6244eab6a3 Message-Id: <20240205093843.F3A873858CDB@sourceware.org> Date: Mon, 5 Feb 2024 09:38:43 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Dbfb68a9e6e4= 3bb6a7fbbaca3e1e18f6244eab6a3 commit bfb68a9e6e43bb6a7fbbaca3e1e18f6244eab6a3 Author: Corinna Vinschen AuthorDate: Mon Feb 5 10:38:28 2024 +0100 Commit: Corinna Vinschen CommitDate: Mon Feb 5 10:38:28 2024 +0100 getlocalename_l: fix _reent for _REENT_SMALL targets =20 The new _MB_CAPABALE-only _misc_reent member getlocalename_l_buf was incorrectly initialized in the _REENT_INIT_MISC macro, so the build failed for _REENT_SMALL targets, independet of the _MB_CAPABALE setting. =20 Fixes: 71511d4ac868 ("getlocalename_l: implement per SUS Base Specifica= tions Issue 8 draft") Signed-off-by: Corinna Vinschen Diff: --- newlib/libc/include/sys/reent.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reen= t.h index 4e60c3096ae2..0cba1667cc66 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -514,6 +514,11 @@ struct _reent #define _REENT_CHECK_EMERGENCY(var) \ _REENT_CHECK(var, _emergency, char *, _REENT_EMERGENCY_SIZE, /* nothing = */) =20 +#ifdef _MB_CAPABLE +#define __REENT_INIT_MISC_GETLOCALENAME_L _r->_misc->_getlocalename_l_buf[= 0] =3D '\0' +#else +#define __REENT_INIT_MISC_GETLOCALENAME_L +#endif #define _REENT_INIT_MISC(var) do { \ struct _reent *_r =3D (var); \ _r->_misc->_strtok_last =3D _NULL; \ @@ -533,7 +538,7 @@ struct _reent _r->_misc->_wcrtomb_state.__value.__wch =3D 0; \ _r->_misc->_wcsrtombs_state.__count =3D 0; \ _r->_misc->_wcsrtombs_state.__value.__wch =3D 0; \ - _r->_misc->_getlocale_l_buf[0] =3D '\0'; \ + __REENT_INIT_MISC_GETLOCALENAME_L; \ _r->_misc->_l64a_buf[0] =3D '\0'; \ _r->_misc->_getdate_err =3D 0; \ } while (0)