Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Jan 2021 22:37:41 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 252446] egrep bug with trailing backslash (\)
Message-ID:  <bug-252446-227-mmMdH9kvL2@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-252446-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-252446-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252446

--- Comment #2 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3D4832d2e8ae1df6f907ac00275764f8135=
722cb7e

commit 4832d2e8ae1df6f907ac00275764f8135722cb7e
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2021-01-05 21:33:06 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2021-01-07 22:36:31 +0000

    du: tests: fix the H_flag test (primarily grep usage)

    This test attempts to use \t (tab intended) in a grep expression.  With=
 the
    former /usr/bin/grep (i.e. gnugrep), this was interpreted as a literal =
't'.
    The expression would work anyways because the tr(1) usage would ultimat=
ely
    replace all of the spaces with a single newline, and they would match t=
he
    paths whether they were correctly fromatted or not.

    Current /usr/bin/grep (i.e. bsdgrep) is less-tolerant of ordinary-escap=
es,
a
    property of the underlying regex(3) engine, to make it easier to identi=
fy
    when stuff like this happens. In-fact, this expression broke after the
    switch happened.

    This revision does the bare basics to fix the usage by using a printf to
get
    a literal tab character to insert into the expression. It also swaps out
the
    manual insertion of the line prefix into the grep expression by pulling
    that part out of $sep and reusing it for the leading path.

    The secondary issue was the tr(1) usage, since tr would only replace the
    first character of string1 with the first character of string2.  This h=
as
    instead been replaced by a sed expression, which similary understands \=
n to
    be a newline on all supported versions of FreeBSD.  Each path now gets
    prefixed with the appropriate context that should be there (i.e. numeric
    sequence followed by a tab).

    PR:             252446
    Reviewed by:    emaste, ngie
    Differential Revision:  https://reviews.freebsd.org/D27983

 usr.bin/du/tests/du_test.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252446-227-mmMdH9kvL2>