strip pipe arguments from test options
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 13 Mar 2021 06:03:13 +0000 (07:03 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 18 Apr 2022 09:04:29 +0000 (11:04 +0200)
Allow combination of -value and |command (or ?status) suffixes,
without the latter part being duplicated.

t/regress.t

index cd8bb5e440046b4928be69945e7404fdd3f59be9..508d3617bc7e6fe7c7562aed1c54f70745649426 100755 (executable)
@@ -35,7 +35,12 @@ do
 
        set -- barcat
        [ -r "$input" ] && set -- "$@" "$input"
-       case "$name" in *\ -*) set -- "$@" -"${name#* -}";; esac
+       case "$name" in
+               *\ -*)
+                       args="${name#* -}"
+                       set -- "$@" -"${args% [?|]*}"
+                       ;;
+       esac
        case "$name" in
                *' ?' ) set -- sh -c "\$0 \$@ 2>/dev/null" "$@";;
                *' ?'*) set -- sh -c "\$0 \$@ | test \$\? = ${name#* \?}" "$@";;