aboutsummaryrefslogtreecommitdiff
path: root/dejagnu
diff options
context:
space:
mode:
authorJacob Bachmeyer <jcb62281@gmail.com>2018-12-21 19:45:48 +1100
committerBen Elliston <bje@gnu.org>2018-12-21 19:45:48 +1100
commit04efb47225767928e7bc69036d489572d6e255d2 (patch)
treee8b370172bf9690234a2f4c25da266f1dffd69bc /dejagnu
parentf037566a76a4fa5861b8eff39427e66c2f016649 (diff)
PR 33817
* dejagnu: Improve command parsing to fix bug. Previously, the documented equivalence between "multi word command" and "multi-word-command" did not hold if no arguments were given. * testsuite/launcher.all/command.exp: Add tests. Signed-off-by: Ben Elliston <bje@gnu.org>
Diffstat (limited to 'dejagnu')
-rwxr-xr-xdejagnu14
1 files changed, 9 insertions, 5 deletions
diff --git a/dejagnu b/dejagnu
index 06efcc7..6cd52f6 100755
--- a/dejagnu
+++ b/dejagnu
@@ -134,7 +134,6 @@ fi
# Remove any leading autoconf platform prefix and the "dejagnu" prefix.
command="$(basename "$0" | sed -e 's/^.*-\?dejagnu-\?//')"
-commext=
while expr $# \> 0 > /dev/null
do
@@ -151,15 +150,12 @@ do
for ext in ${Variants}
do
if test -f "${commdir}/${command}.$ext" ; then
- commext="$commext $ext"
+ break 2
fi
done
if expr "$1" : - > /dev/null ; then
break
fi
- if test -n "$commext" ; then
- break
- fi
if test -n "$1" ; then
command="${command}-$1"
shift
@@ -168,6 +164,14 @@ do
fi
done
+commext=
+for ext in ${Variants}
+do
+ if test -f "${commdir}/${command}.$ext" ; then
+ commext="$commext $ext"
+ fi
+done
+
if test -z "$commext" && test -n "$command" ; then
echo ERROR: could not resolve command "$command"
exit 2