diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp index 7f2ccf5eb68b585d9d71df02dbd979f4fa905f5e..010b04299926679dc3531cdb64ed8a38661ffafc 100644 --- a/Common/CommandLine.cpp +++ b/Common/CommandLine.cpp @@ -564,12 +564,15 @@ void GetOptions(int argc, char *argv[]) i++; if (i + 1 < argc && argv[i][0] != '-') { std::string n(argv[i]); - std::vector<double> v(1, atof(argv[i + 1])); + std::vector<double> v; + int s = atoi(argv[i + 1]), j = 0; i += 2; - while(i < argc && argv[i][0] != '-'){ + while(j < s && i < argc){ v.push_back(atof(argv[i])); - i++; + i++; j++; } + if(j < s) + Message::Error("Missing values in list (got %d instead of %d)", j, s); gmsh_yysymbols[n].value = v; Msg::GetCommandLineNumbers()[n] = v; }