blob: 74f8df000b1a3129bc628f3deaf61c2054918ae5 [file] [log] [blame]
bzgrep uses !/bin/sh but then uses the bashism ${var//} so replace those
with calls to sed so POSIX shells work
http://bugs.gentoo.org/193365
--- a/bzgrep
+++ b/bzgrep
@@ -63,10 +63,9 @@
bzip2 -cdfq "$i" | $grep $opt "$pat"
r=$?
else
- j=${i//\\/\\\\}
- j=${j//|/\\|}
- j=${j//&/\\&}
- j=`printf "%s" "$j" | tr '\n' ' '`
+ # the backslashes here are doubled up as we have to escape each one for the
+ # shell and then escape each one for the sed expression
+ j=`printf "%s" "${i}" | sed -e 's:\\\\:\\\\\\\\:g' -e 's:[|]:\\\\|:g' -e 's:[&]:\\\\&:g' | tr '\n' ' '`
bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
r=$?
fi