fixed bug with incorrect syntax in CommandLineParser
authormorozov.andrey <andrey.morozov@itseez.com>
Fri, 26 Oct 2012 15:46:17 +0000 (19:46 +0400)
committermorozov.andrey <andrey.morozov@itseez.com>
Fri, 26 Oct 2012 15:46:17 +0000 (19:46 +0400)
modules/core/src/command_line_parser.cpp

index dc15356..a4ce36b 100644 (file)
@@ -185,13 +185,21 @@ CommandLineParser::CommandLineParser(int argc, const char* const argv[], const s
         p.def_value = l[1];
         p.help_message = impl->cat_string(l[2]);
         p.number = -1;
-        if (p.keys[0][0] == '@')
+        if (p.keys.size() <= 0)
         {
-            p.number = jj;
-            jj++;
+            impl->error = true;
+            impl->error_message = "Field KEYS could not be empty\n";
         }
+        else
+        {
+            if (p.keys[0][0] == '@')
+            {
+                p.number = jj;
+                jj++;
+            }
 
-        impl->data.push_back(p);
+            impl->data.push_back(p);
+        }
     }
 
     // parse argv