Mimic the original grep behavior and return exit_success when
at least one xz compressed file matches given pattern.
Original bugreport:
https://bugzilla.redhat.com/show_bug.cgi?id=
1108085
Thanks to Pavel Raiskup for the patch.
fi
exec 3>&1
-res=0
+
+# res=1 means that no file matched yet
+res=1
for i; do
case $i in
fi >&3 5>&-
)
r=$?
+
+ # fail occured previously, nothing worse can happen
+ test $res -gt 1 && continue
+
test "$xz_status" -eq 0 || test "$xz_status" -eq 2 \
|| test "$(kill -l "$xz_status" 2> /dev/null)" = "PIPE" || r=2
- test $res -lt $r && res=$r
+
+ # still no match
+ test $r -eq 1 && continue
+
+ # 0 == match, >=2 == fail
+ res=$r
done
exit $res