diff options
-rw-r--r-- | src/main/CommandLine.c | 12 | ||||
-rw-r--r-- | src/main/WarnLevel.c | 8 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/main/CommandLine.c b/src/main/CommandLine.c index 6b4b1f2e..82a118e5 100644 --- a/src/main/CommandLine.c +++ b/src/main/CommandLine.c @@ -379,7 +379,17 @@ void CCTKi_CommandLineErrorLevel (const char *argument) errorlevel = strtol (argument, &endptr, 10); if (endptr && *endptr == 0) { - CCTKi_SetErrorLevel (errorlevel); + if (errorlevel < 0) + { + CCTK_VWarn (0, __LINE__, __FILE__, "Cactus", + "Error level cannot be negative, but %d was requested.", + (int)errorlevel); + CCTK_Exit (NULL, 1); + } + else + { + CCTKi_SetErrorLevel (errorlevel); + } } else { diff --git a/src/main/WarnLevel.c b/src/main/WarnLevel.c index 9e1cd221..52fa0f5a 100644 --- a/src/main/WarnLevel.c +++ b/src/main/WarnLevel.c @@ -1109,7 +1109,13 @@ int CCTKi_SetErrorLevel (int level) { int retval; - if (level <= warning_level) + if (level < 0) + { + CCTK_VWarn (3, __LINE__, __FILE__, "Cactus", + "Error level cannot be negative (%d requested)", level); + retval = 0; + } + else if (level <= warning_level) { if (error_level != level) { |