From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 053743858D39; Thu, 27 Jul 2023 19:58:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 053743858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1690487885; bh=71lFCOf/7fhz9KEq88bEQHJNNDmm4HrmoPxTRjEpZHk=; h=From:To:Subject:Date:From; b=ly1ZbrNKYTNmx1nNBYKi1eBnzCpigrlpq6M6OlQt7AY8axXcFFS2rcjn9eBNZgrWS 3opZKiWzAjle0a4aHG3WBklqhNVxs2yTS1AC8vryggTEjTOwbDfh7crJF23QiO9Yu8 FaRc/niheBfpeVZevLht2R4pDFdMVtT2udwcbM5c= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/main] Cygwin: fnmatch: fix range comparison in C locale X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/main X-Git-Oldrev: 9e329b544ac04b389e12984362e06b92e1506399 X-Git-Newrev: a13b0b7aea9d12c6cefe21082ef5c921ac071e3a Message-Id: <20230727195805.053743858D39@sourceware.org> Date: Thu, 27 Jul 2023 19:58:05 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Da13b0b7aea9= d12c6cefe21082ef5c921ac071e3a commit a13b0b7aea9d12c6cefe21082ef5c921ac071e3a Author: Corinna Vinschen AuthorDate: Thu Jul 27 21:57:49 2023 +0200 Commit: Corinna Vinschen CommitDate: Thu Jul 27 21:57:49 2023 +0200 Cygwin: fnmatch: fix range comparison in C locale =20 Commit c36064bbd0c5 introduced operating on character pointers instead of operating on characters, to allow collating symbols. This patch neglected to change the expression for range comparison in case we're in the C locale. Thus it suddenly compared pointers instead of characters. Fix that. =20 Fixes: c36064bbd0c5 ("Cygwin: fnmatch: support collating symbols in [. = .] brackets") Signed-off-by: Corinna Vinschen Diff: --- winsup/cygwin/libc/fnmatch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/libc/fnmatch.c b/winsup/cygwin/libc/fnmatch.c index 8a229a142032..a1cb5d1e4616 100644 --- a/winsup/cygwin/libc/fnmatch.c +++ b/winsup/cygwin/libc/fnmatch.c @@ -353,7 +353,7 @@ rangematch(const wint_t *pattern, wint_t *test, int fla= gs, wint_t **newp, } =20 if ((!__get_current_collate_locale ()->win_locale[0]) ? - c <=3D test && test <=3D c2 : + *c <=3D *test && *test <=3D *c2 : __wscollate_range_cmp(c, test, clen, tlen) <=3D 0 && __wscollate_range_cmp(test, c2, tlen, c2len) <=3D 0 )