From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.134]) by sourceware.org (Postfix) with ESMTPS id C0F0538708B8 for ; Fri, 24 Mar 2023 14:44:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C0F0538708B8 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MhDIw-1qAuWm2V8s-00eJBx for ; Fri, 24 Mar 2023 15:44:02 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id 1E6CCA80C30; Fri, 24 Mar 2023 15:44:02 +0100 (CET) Date: Fri, 24 Mar 2023 15:44:02 +0100 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: newlocale: Linux incompatibility Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <5b6899da-555a-6574-6e8b-43c2288f636e@cornell.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <5b6899da-555a-6574-6e8b-43c2288f636e@cornell.edu> X-Provags-ID: V03:K1:enmLOH/aBXUvt18V90g6nL14NR7cZwJoEo2BHQ4xwFY1+jDGcps bFKOjzK1weklHLzvxk463ARQZCR1LsCoTfqeZpAFnUvNjKks/PFtKjxt2IAVuZHYHPBacSS k2+gqCrmT4ZdTHEMk1I6ttKbkpgknOG7irGMRWT6Y8R0iND5rFQau3IVhg5WRo11QEZoEWc Mqi7yj8II2WFzGofZP9Rg== UI-OutboundReport: notjunk:1;M01:P0:NvRrEg3x/Ks=;fNavM/LejsOdCwYpHiX03gPOfIh /df4ARSoafq3NoheMucssKCOWe3tH8DFckdv0DaLv9gd5XwaxhIZ+V5qBPTSXxw03ONrWE8n+ ctsdFaRG2nzeeZPwiC7edrkBPrmTy5RFRJAuNEgrTHZZVodfDb3pJ5150SKFnzp72EK20y1AS eaz1iaqfOLUiWM4dPGUv8oYzzhMvCN5bO/wer7U/eFVo+Z/qA9fcTdmRWoDJmQEMZPgub/JuU GaPAz8b916VGzgLVw07Rr8fJU/zm50bG8uvMnHRIdeuvowkD220nyOls3rWly80JqP7apwpsH p5H/eImt/tI28rl8Hsk/iss+R5kKuERAWL3pXTMvtjVvDegKfZ/sLxLF7NWSHcVg+tRg2PBe2 9aHztoG2gbArNvOg+5dYevfXwWSciVkP22pVbALrQx0et7kntGCq1kmWDNCJJtmfMYzyCLVc9 Kr8CaG2xNAyO5THPLhT0kwoQE9pGJwCK08OrBKmEdndwV1dT2wHBIZijy4yxfzjC9P/w4jvxH vdXkA2YynCv2ZyBFRFoJ86a8bOLkBBELxVlfio0MLSly/UW1KBZZGAYdfoNdApgzKJjtOK2eU KqMvlKAz9lURlGSTZJWhnbSMglGgqq/9psR2NlYdHdl5Tvm2ENOJTJMfNDgeb7URnjXuzN2gV uw1COIIQO4sXiDE1ijijwRFOhS4lQQiMf6Yv66f6VA== X-Spam-Status: No, score=-97.6 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_DMARC_NONE,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_FAIL,SPF_HELO_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: On Mar 24 09:57, Ken Brown via Cygwin wrote: > On 3/24/2023 8:18 AM, Corinna Vinschen via Cygwin wrote: > > On Mar 23 22:14, Corinna Vinschen via Cygwin wrote: > > > On Mar 23 15:48, Ken Brown via Cygwin wrote: > > > > Consider the following test case: > > > > > > > > $ cat locale_test.c > > > > #include > > > > #include > > > > > > > > int main () > > > > { > > > > const char *locale = "en_DE.UTF-8"; > > > > locale_t loc = newlocale (LC_COLLATE_MASK | LC_CTYPE_MASK, locale, 0); > > > > if (!loc) > > > > perror ("newlocale"); > > > > else > > > > printf ("newlocale succeeded on invalid locale %s\n", locale); > > > > } > > > > > > > > $ gcc -o locale_test locale_test.c > > > > > > > > $ ./locale_test.exe > > > > newlocale succeeded on invalid locale en_DE.UTF-8 > > > > > > > > On Linux, the newlocale call fails with ENOENT, as is documented on the man > > > > page. > > > Three bugs in fact. > > > [...] > > I pushed a couple of patches which hopefully clean up the code. > > [...] > > If you want to test this, the changes are in test release > > 3.5.0-0.260.gb5b67a65f87c, which is just building. > > That was fast! I can confirm that newlocale now fails with ENOENT on the > invalid locale en_XY.utf8. Thanks for testing! Corinna