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