DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 49ODvPB04101824 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=GT9kTLGY X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4AE593858C5F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1729778244; bh=41N2VQOg4NfJijj1deFND1/6kmeAiC+76pMDw9jCEvM=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=GT9kTLGYywB/32Re2D9nr4zqi8bmyq07Uh8S+RpNR50Zddy36se8F22DaEZAPnFcJ MPY3CMk3mhZXXpb/ytPsx2EtYB2ypAB2vYHkI5y0zgeBtuPFx3/Q2pUJuG4kNPnUFu 29c6hrI3WssUYi0uEMEK8YWTHZer1QWRaQjhH7No= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 16C3C3858D21 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 16C3C3858D21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729778220; cv=none; b=tcl0hUJlLBoG00avJFml6jdk1Fe2KoVex3jt6EBBRiHHLcmG0y5LnIGTdyomxB/TrQ84MGkhe/rY4UeCdnQzKA0Rn49x2Dgr7n3DgZZ+kukqLvvMNWHhNBRvwoCFLVmZjRLo53+cJfvkK6uZcCQy8C7+5dRFcvD03+H8V4HrjNU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729778220; c=relaxed/simple; bh=T5jdL7ZkOwxE2oIDuVEtkm4d50kKel13jRlW15UfJeI=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=UkBp0wmc/GVaVS30gtEb6yY7rRO1UB5/J5hA6RnKx+lElQLZSW0z6UuBAm40UxDvZtAVbRTE8d4bTqvOpCX6hBocMB3VB50LAT0uH3RH+fRmF+Q/YgTWLa0u2YP7JTIKKJi+rJFY93Ea5durmgUjPHwl/W/l/oxoPQBhOrRDaQc= ARC-Authentication-Results: i=1; server2.sourceware.org Message-ID: <429b4a7c-4a05-467c-a90d-6ed6e87cfc63@SystematicSW.ab.ca> Date: Thu, 24 Oct 2024 07:56:54 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Is this correct behaviour for 'rev'? Content-Language: en-CA To: cygwin AT cygwin DOT com References: <6fdbf92d-51f2-47ae-a482-5edd89ed3a89 AT maxrnd DOT com> Organization: Systematic Software In-Reply-To: X-Rspamd-Queue-Id: F2B7420029 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Rspamd-Server: rspamout07 X-Stat-Signature: wwzpj14u619iax8q9fegkomed4s7gycd X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361 X-Session-ID: U2FsdGVkX19SrhJHR2h/j0j7ITscUU5/3qNyVk3tS7M= X-HE-Tag: 1729778200-601950 X-HE-Meta: U2FsdGVkX18T3vq05vrV0pmsWm+Kz0zmjQDIK+tkmOupYSJSMdPhS6Y00ee5EvC8FJNA4E0A6myaniq6L8/AiW5QPuGN0dzxkZ7ar92zxG18dPE2vImdJVL/InW6rJmCnk8Vc9PGK17iEu7Xdr4uhMNwcFvjDz4OzBgmUZwvCjLFBwc1D6b+x2vRHfoHbXeY3BRBJXw1LRtF2xX7royOp3DX+i0WP+JxeyTUiMqb3fYBwnzWn9/EMahbxMjtHlRLL2M/qDB52r6oWcZhyn97EFyOZjk0eVDAOlROxSwIq3zp8WEigSWQdzPWGlmTq353GQ8dzGnWKoIpgpU5dJ8rXGWNzYULDnMl X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Inglis via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Brian Inglis Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 49ODvPB04101824 On 2024-10-24 02:37, Thomas Wolff via Cygwin wrote: > > Am 24.10.2024 um 07:01 schrieb Mark Geisert via Cygwin: >> Replying to myself, I continue... >> >> On 10/22/2024 10:33 PM, Mark Geisert via Cygwin wrote: >>> On 10/22/2024 8:00 PM, Backwoods BC via Cygwin wrote: >>>> It appears that 'rev' is choking on any character \x80 or higher, but >>>> is OK with those \x1f or smaller. It doesn't give an error or ignore >>>> it, it just stops. >>>> >>>> I don't have access to a Linux box so I can't see if this happens >>>> there and nothing in the documentation suggests that this is the >>>> correct functionality. >>>> >>>> Test case: >>>> printf 'no non-ASCII characters\nhex 01 >\x01< here\nhex 80 >\x80< >>>> here\nLine 4\n'|rev|rev >>>> >>>> This is for "rev from util-linux 2.33.1" >>>> >>>> I don't have the current version of 'rev' on my system due to not >>>> having updated in a while. I accidentally screwed up my installation >>>> and have been reluctant to wipe it and start over. >>>> >>>> So, is this the expected behaviour for the current version of 'rev' >>>> under Cygwin and/or Linux? >>> >>> The current Cygwin util-linux 2.39.3-2 rev behaves in the same, >>> broken way.  It looks like line-ending char(s) are not being handled >>> correctly.   Don't know yet if it's rev itself or fgetws() being used >>> by rev that's busted.  I'll investigate further.  Thanks for the report! >> >> This is a locale issue.  In the default Cygwin locale, rev mishandles >> the \x80 byte and instead of stopping with an error message it enters >> an infinite loop.  I'll probably report this upstream instead of >> working out a local fix. >> >> There is a work-around: change to the "C" locale just to run rev. >>     LC_ALL=C rev zzz >> where zzz is a file containing your four lines.  You can also run your >> original testcase with "rev" replaced by "LC_ALL=C rev" in both places. > Sorry, this is not a good workaround as it corrupts all (proper) > non-ASCII characters. > You could do e.g. > grep . | rev Not quite, as that just matches non-empty lines, you would have to do something more like `grep -o . ...`, but not sure that would do what you want either. -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut -- Antoine de Saint-Exupéry -- 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