Skip to content

Commit

Permalink
- fix #3009
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@23665 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
lochel committed Dec 4, 2014
1 parent f09c7f8 commit e09f1fe
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 11 deletions.
25 changes: 25 additions & 0 deletions SimulationRuntime/c/simulation/options.c
Expand Up @@ -47,6 +47,31 @@ int helpFlagSet(int argc, char** argv)
return flagSet("?", argc, argv) || flagSet("help", argc, argv);
}

int setLogFormat(int argc, char** argv)
{
const char* value = getOption(FLAG_NAME[FLAG_LOG_FORMAT], argc, argv);
if(NULL == value)
value = getFlagValue(FLAG_NAME[FLAG_LOG_FORMAT], argc, argv);

if (NULL != value)
{
if (0 == strcmp(value, "xml"))
{
setStreamPrintXML(1);
}
else if (0 == strcmp(value, "text"))
{
setStreamPrintXML(0);
}
else
{
warningStreamPrint(LOG_STDOUT, 0, "invalid command line option: -logFormat=%s, expected text or xml", value);
return 1;
}
}
return 0;
}

int checkCommandLineArguments(int argc, char **argv)
{
int i,j;
Expand Down
1 change: 1 addition & 0 deletions SimulationRuntime/c/simulation/options.h
Expand Up @@ -41,6 +41,7 @@ extern int omc_flag[FLAG_MAX];
extern const char *omc_flagValue[FLAG_MAX];

int helpFlagSet(int argc, char** argv);
int setLogFormat(int argc, char** argv);
int checkCommandLineArguments(int argc, char **argv);

#ifdef __cplusplus
Expand Down
12 changes: 1 addition & 11 deletions SimulationRuntime/c/simulation/simulation_runtime.cpp
Expand Up @@ -736,7 +736,7 @@ int initRuntimeAndSimulation(int argc, char**argv, DATA *data)
int i;
initDumpSystem();

if(helpFlagSet(argc, argv) || checkCommandLineArguments(argc, argv))
if(setLogFormat(argc, argv) || helpFlagSet(argc, argv) || checkCommandLineArguments(argc, argv))
{
infoStreamPrint(LOG_STDOUT, 1, "usage: %s", argv[0]);

Expand All @@ -754,16 +754,6 @@ int initRuntimeAndSimulation(int argc, char**argv, DATA *data)
messageClose(LOG_STDOUT);
EXIT(0);
}
if (omc_flag[FLAG_LOG_FORMAT]) {
if (0==strcmp(omc_flagValue[FLAG_LOG_FORMAT],"xml")) {
setStreamPrintXML(1);
} else if (0==strcmp(omc_flagValue[FLAG_LOG_FORMAT],"text")) {
setStreamPrintXML(0);
} else {
warningStreamPrint(LOG_STDOUT, 0, "invalid command line option: -logFormat=%s, expected text or xml", omc_flagValue[FLAG_LOG_FORMAT]);
EXIT(0);
}
}

if(omc_flag[FLAG_HELP]) {
std::string option = omc_flagValue[FLAG_HELP];
Expand Down

0 comments on commit e09f1fe

Please sign in to comment.