NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bin/59103: vi(1): search of non-ASCII chars. broken when `:set extended' is set
>Number: 59103
>Category: bin
>Synopsis: vi(1): search of non-ASCII chars. broken when `:set extended' is set
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Feb 25 09:35:00 +0000 2025
>Originator: RVP
>Release: NetBSD/amd64 10.99.12
>Organization:
>Environment:
NetBSD/amd64 10.99.12
>Description:
When ERE searches are set using `:set extended' in vi(1), searching for
non-ASCII chars. fails to find them in the text.
>How-To-Repeat:
$ LANG=C printf '\xA1 a b c \xA1 c d e \xff\n' > ere.txt
$ LANG=C vi ere.txt
:set extended # ERE searches
/<Ctrl-X>A1 # search for \xA1
:q
$
>Fix:
diff -urN src/external/bsd/nvi.orig/dist/regex/regcomp.c src/external/bsd/nvi/dist/regex/regcomp.c
--- src/external/bsd/nvi.orig/dist/regex/regcomp.c 2021-05-17 04:01:57.000000000 +0000
+++ src/external/bsd/nvi/dist/regex/regcomp.c 2025-02-25 08:56:21.645965752 +0000
@@ -307,7 +307,7 @@
/* character this ERE should end at */
{
- char c;
+ unsigned char c;
sopno prevback = 0;
sopno prevfwd = 0;
sopno conc;
@@ -356,7 +356,7 @@
static void
p_ere_exp(struct parse *p, size_t reclimit)
{
- char c;
+ unsigned char c;
sopno pos;
int count;
int count2;
Home |
Main Index |
Thread Index |
Old Index