www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/02/17/05:50:30

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 51HAoTun2888059
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 51HAoTun2888059
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=ARIXPUhN
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ED3393858C53
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1739789428;
bh=kTgQiseEbBpblRR8sSlFl4DhNCQ4RfNLwfrnrj6pN3w=;
h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=ARIXPUhN5J48zjoIcJVwZZoTTENtGyeVEvq1hp7l6GM2b1inEnBYOQL3AhW02v2Z4
xhQ+iOtfndqPieGrJKic7hmvfHNZV7ApKQNM1/As5KvmDw+Pgo/FFeHV046wPa8cUz
fgdVSLpomdXqsPMLtmPompzB0wy9yvYqAInsEyqA=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 112FD3858D35
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 112FD3858D35
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1739789393; cv=pass;
b=Jpong70A/wfNi5+Vd4P5hTRfqX+FBohLoi0oKrGTHiFujPVzyRXgFD66N+d4udsQmiRszWzi27pvYFwMFcXJSKUsZDEh4IxA34qBV3ecsDQbtBvftYeHk/fF8J9ALIPRHyDegpw0nnIIrJ7qypcK6z3Q/USL9jgmXYttEWHBfdA=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
t=1739789393; c=relaxed/simple;
bh=L09uCvl/FdeYbHL8+h+iLwmDaEvrGUr9zd1ElnDAVUw=;
h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:
MIME-Version;
b=Yaqoh/WrWIzyyOI38yyy37n/VKCTQUTaIE4nAssKB/MY8NJORtTB+d7KJ3hakA5a0oSRklU3GuYNgaZOoweWSDYg0hO7xKBOR5kH4yVBk+fLmHsGWIGAfX0M8n0yBwSkr1q0DRzWPkKaAcjyEoSEjVUh8G/d1BKcinyf9LEBca0=
ARC-Authentication-Results: i=2; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 112FD3858D35
ARC-Seal: i=1; a=rsa-sha256; t=1739789390; cv=none;
d=strato.com; s=strato-dkim-0002;
b=C8KeHZ/X79h5j7FRrZdYCuDc0aSe6KmZdfcxMghApl6sRl6bJAzV0e4y8Q1f0WoAvk
U4FlGHMSD0naO7qZpO3VyMsZ4SHjSkLB/HKcDMdNn4A7hmRBzMWSeOzCG1HLpXhjN1eW
3KzqSEksiFN4sOZgyyjj2Wl1Dkhe/RJmjLs33QZFi2QnGueJOHDpAKCJJbUFBA0l5U45
n/BtMPPDBOk687XqfoN1YLqh2D94eDdsTnlUiAy8AMvvSxmaew343yWYEGEHU7x392Ps
ONY9rSUH6h4WDU/9JsKBA/qWRufE3qwhF8IXaj/kEWp4IFGFKAOPT/Rvb1/LdJQ0rWHc
yMiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1739789390;
s=strato-dkim-0002; d=strato.com;
h=References:In-Reply-To:Message-ID:Date:Subject:To:From:Cc:Date:From:
Subject:Sender;
bh=L09uCvl/FdeYbHL8+h+iLwmDaEvrGUr9zd1ElnDAVUw=;
b=lETjXza8E0YvFUKlnP5Yv/zvvDqvaJXmW/brdTlsXQCR8io0KTTAwQ/MFNziRgGwj3
Ry18lPGax+H8J2vdHHVOAmJqWlMGKj55l9qZ0BHYKW9wECFpoB5ujpsndU3hQkwuXWAm
r9933ZULvr6XwjULzUwdKZosMGIUDCXOVXpLYWqUmTa+bD3RIx5wPLAEOqNxwEDv8JvD
g+bEZ8/7oDKjOMJkVdKwA8tgbcNnuHJdEF40dmaGqsABWe6qxxFreVJ74UmWVA0es7QF
WJlkCnbU9+gnnyjBFH6awHpg4qGMvIrhn+R59In6yee9QOIm4xYAvRh/y4uWKwBkF01d
Dn6g==
ARC-Authentication-Results: i=1; strato.com;
arc=none;
dkim=none
X-RZG-CLASS-ID: mo00
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlLnY4jECd2hdUURIbZgL8PX2QiTuZ3cdB8X/nqmmeHTyqSHKY0MaVUIjzuYeaGlfV"
To: cygwin AT cygwin DOT com
Subject: Re: bug in strcasecmp and strncasecmp
Date: Mon, 17 Feb 2025 11:49:50 +0100
Message-ID: <6261974.2l3rmUXbR5@nimes>
Organization: GNU
In-Reply-To: <Z7MIvRl6XKQ0Ky0m@calimero.vinschen.de>
References: <2031387 DOT 2IRrRt1zHL AT nimes> <Z7MIvRl6XKQ0Ky0m AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Bruno Haible via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Bruno Haible <bruno AT clisp DOT org>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 51HAoTun2888059

Corinna Vinschen wrote:
> Adding a cast fixes that and I just pushed a matching patch.

Thanks.

> I'm just not sure if that's sufficient in the light of POSIX.1-2024.
> The above expression seems to indicate that strcasecmp and friends are
> now expected to work on multibyte codesets like UTF-8.

They can't work on multibyte strings. This is evident from the fact that
strncasecmp gets one integer as argument, not two integers. In a Turkish
locale, for example, "i" (1 byte) and "İ" (2 bytes) are the same modulo
case.

I agree that the POSIX language is murky because "character" there is
equivalent to "byte", and yet the same page talks about characters and bytes...

For multibyte strings, one needs other functions. See
https://www.gnu.org/software/gnulib/manual/html_node/Comparison-of-string-APIs.html

Bruno




-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019