From f61a89ae2df3cf1ad1ca213597ea717bc7c00781 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 31 Jul 2017 16:34:43 +0200 Subject: [PATCH] ENH: ignore lone dash on the command-line (issue #553) - can inadvertently arise from TAB-completion, but an option without a name doesn't make sense, we trap this and emit a warning. --- src/OpenFOAM/global/argList/argList.C | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index b3b68fc872..87c8c30f03 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -480,6 +480,7 @@ Foam::argList::argList // Check arguments and options, argv[0] was already handled int nArgs = 1; + HashTable<string>::const_iterator optIter; for (int argI = 1; argI < args_.size(); ++argI) { argListStr_ += ' '; @@ -489,15 +490,20 @@ Foam::argList::argList { const char *optionName = &args_[argI][1]; - if + if (!*optionName) + { + Warning + <<"Ignoring lone '-' on the command-line" << endl; + } + else if ( ( - validOptions.found(optionName) - && !validOptions[optionName].empty() + (optIter = validOptions.cfind(optionName)).found() + && !optIter.object().empty() ) || ( - validParOptions.found(optionName) - && !validParOptions[optionName].empty() + (optIter = validParOptions.cfind(optionName)).found() + && !optIter.object().empty() ) ) { -- GitLab