summaryrefslogblamecommitdiff
path: root/system/bzip2/bzip2-1.0.4-POSIX-shell.patch
blob: a5916eaff5e81ff62cce380b4d42f804b0557f51 (plain) (tree)




















                                                                                                            
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

--- ./bzgrep
+++ ./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