From: Nico Boehr <nrb@linux.ibm.com>
To: frankja@linux.ibm.com, imbrenda@linux.ibm.com, thuth@redhat.com
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org
Subject: [kvm-unit-tests PATCH v1] configure: process arguments not starting with dash
Date: Fri, 13 Sep 2024 10:56:44 +0200 [thread overview]
Message-ID: <20240913085709.122017-1-nrb@linux.ibm.com> (raw)
We have arguments in the configure script which take an additional
parameter, like --host-key-document. The syntax is as follows:
--host-key-document=PARAMETER
We always expect an equals sign (=) after the argument name and the
parameter.
If the user omits '=' between the argument name and parameter, both
words will be interpreted as parameter-less arguments.
This on its own is not a problem, since the parameter would normally not
be a valid argument name and should hence lead to an error message.
However, this doesn't work currently.
The configure script stops parsing arguments when an argument starting
with something other than a dash is encountered. This means that
specifying arguments such as:
--host-key-document /tmp/test --gen-se-header=/usr/bin/gen-se-header
Will actually lead to --gen-se-header being ignored. Note the space
instead of equals sign after --host-hey-document.
In addition, --host-key-document only verifies its parameter when it is
not empty so we will just continue as if no arguments were specified in
the case above.
This can be highly confusing, hence consume _all_ specified arguments,
even if they don't start with a dash. This will lead to an error in the
case above.
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
---
configure | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 27ae9cc89657..85a2358ca20b 100755
--- a/configure
+++ b/configure
@@ -102,8 +102,11 @@ EOF
exit 1
}
-while [[ "$1" = -* ]]; do
+optno=1
+argc=$#
+while [[ $optno -le $argc ]]; do
opt="$1"; shift
+ optno=$(( $optno + 1 ))
arg=
if [[ "$opt" = *=* ]]; then
arg="${opt#*=}"
--
2.46.0
next reply other threads:[~2024-09-13 8:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 8:56 Nico Boehr [this message]
2024-10-10 8:27 ` [kvm-unit-tests PATCH v1] configure: process arguments not starting with dash Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240913085709.122017-1-nrb@linux.ibm.com \
--to=nrb@linux.ibm.com \
--cc=frankja@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox