From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de [81.169.146.216]) by sourceware.org (Postfix) with ESMTPS id BFF8C3858CD1 for ; Thu, 23 May 2024 20:16:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BFF8C3858CD1 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=clisp.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=clisp.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BFF8C3858CD1 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=81.169.146.216 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1716495399; cv=pass; b=CfUxvFjVFitVmRPWwYEIcAdUDKL3pmnEZcWRHxyM7xA4J6Yhl3MqXkLJ7oDaEuaqEKWGWg+hRKAO+YPNIGGASHAw/jWtQRne4WVSwc8aZtIism4qWac26hvKvyzJBIBNvna9mh+vY9sDEPixUTygXW7fdTbNZY/cFPWJvVIULuA= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1716495399; c=relaxed/simple; bh=9m+TOnlfePKi2VPy0wQdRsIhEyHKtdfNNN+nrDsCFv8=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=cSwq2mrnhhzOCe+x0YIzgzm+u8a5CDWKCSan+igUZ9ma+ZW4locLw5j3qFmjsXXcfGCEysEIC2xz9huU1mE0Zugilt80rnVBqR8g/8Yr2Div/4VZUTK6sP8M/tEY8jd5Nc/0JDAoF6IZR+dIlHSBxUfF0kUE3UZNeOUt+RJBQgA= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1716495396; cv=none; d=strato.com; s=strato-dkim-0002; b=Pu77BIGI0F4xuLH6Sm2POOZkiJmvxytCddohBFuk6Q1Yh3E3XCMdxI9o9T9B76meUR xmoZis01VOak6d/5Bor9TJbi5m/a2+b5EV8zI/OaL7ujpsXMVkubUw24IvQBoUFez0mN M9d8IwYykrwqXT3Ff2Y1yrE9oEN2apWxmLw323ULeKCeUIZbi1yc36UZ27gxgsZFJD/K vrAEZmN3E8TERjN0eOmUsu0a8dDHr2Sinom9+exTjxy4nm7dRg93nVpp5qnjN5sbdeXr 98zH4Vsmkrb+2VYBl6sOLD0++Iueom978gevcwqzDo3Y2rMOFJ4PBs1VViFlK/mYS4ti p8mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1716495396; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=oEoszkg/sJVceG3RoNvNnYMPSo2SEg4RN/ogFYzS/jc=; b=YTw0QvXtp/jnLyqinkDKMPIEKCDkZGQUEICM6ukusDmd2V7iRB+Mx1Ow8rnBaPDAwn Sw5psEgwjMRD1uY9NF6Zf1MI6pBoaPuYvatPoHxuoeHmEDhf76DLnPicpEIAmKzxHu9w NRNvVbLT/js7rsZDvrfK12T+fzQEaiU2/J2fAOSA01v1kxr6idDfqNRSX8ec2l/skPqK yD0i67Eo5x6zTwwxTYpNnexffvN3mx7X97SvPW0jhKwQM84MCoa3axfs3cKJR7dhC+/Z e7cgOPurMvTjF8qbOXs3uEhmJv+ppEh4RUGodbpIJkxVrsKOJGPaX1LC8dh4vou0fAm9 MCXA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1716495396; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=oEoszkg/sJVceG3RoNvNnYMPSo2SEg4RN/ogFYzS/jc=; b=BEvfgEFA4dkITN2RSq/jdKZgehVRqtvdpoXpKF/jh0SdasCW/QShDfCDdPigEDsA6J bVQmZaC5d9yMW66VcbdjK+CRvYynbCse69XwlDRAFegoDmGQ7G0I0yzEI20sObndNDTX C8S3Wt4lyHMVZpjg9edp6x4gu3chcLWv+gU83LQyu5wX3X0SeGgNwjv9MtWAme5FZboH cDBxcGcbr/PqiSz/3hJu0MMOYnYAHl0JLKQsD0wY5JNT1OWZjs7OZPCPC6X6K5JTzNm2 C9eMxp9cCtl0jNDscA1kTYvWcSHLsmXg5rup0FAidfDsVe5aBMTK/yJJ6UrPunr4Q7YN 19xA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1716495396; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=oEoszkg/sJVceG3RoNvNnYMPSo2SEg4RN/ogFYzS/jc=; b=eN+W3FV7oLleppJupckCmooqkSmznliBZp9s4pPORGGLo0HS/jyWVpL7XdCnBqobhA hMeFgNFo3OCL/wAlVkAQ== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpPC26fyUHTfX3hM/lJqGSPH4qu4hA==" Received: from nimes.localnet by smtp.strato.de (RZmta 50.5.0 AUTH) with ESMTPSA id Ndd2ca04NKGZ8uC (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Thu, 23 May 2024 22:16:35 +0200 (CEST) From: Bruno Haible To: cygwin@cygwin.com Subject: an mbrtoc32 bug Date: Thu, 23 May 2024 22:16:35 +0200 Message-ID: <6004047.n2Wp99KBFH@nimes> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart1725703.3zPMhFXRWZ" Content-Transfer-Encoding: 7Bit X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --nextPart1725703.3zPMhFXRWZ Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" In Cygwin 3.5.3, the attached program has an assertion failure in line 24: bytes is not (size_t)-2. How to reproduce: $ gcc -Wall foo.c $ ./a I think this is a bug, because - ISO C 23 =A7 7.30.1.5 talks about "completing" a character, not "representing" an (entire) character. - The test passes on glibc, musl libc, FreeBSD 14.0, Solaris 11.4. Bruno --nextPart1725703.3zPMhFXRWZ Content-Disposition: attachment; filename="foo.c" Content-Transfer-Encoding: 7Bit Content-Type: text/x-csrc; charset="UTF-8"; name="foo.c" #include #include #include #include #include #include #include int main () { assert (setlocale (LC_ALL, "en_US.UTF-8") != NULL); mbstate_t state; memset (&state, 0, sizeof (state)); char32_t uc = 0xDEADBEEF; size_t bytes; /* \360\237\220\203 = U+0001F403 */ bytes = mbrtoc32 (&uc, "\360", 1, &state); assert (bytes == (size_t)-2); bytes = mbrtoc32 (&uc, "\237", 1, &state); assert (bytes == (size_t)-2); bytes = mbrtoc32 (&uc, "\220", 1, &state); assert (bytes == (size_t)-2); bytes = mbrtoc32 (&uc, "\203", 1, &state); assert (bytes == 1); assert (uc == 0x0001F403); } /* Works in: glibc, musl libc, FreeBSD 14.0, Solaris 11.4 Fails in: Cygwin 3.5.3 */ --nextPart1725703.3zPMhFXRWZ--