Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make the logs more robust to user's stupidity
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 2 May 2017 12:13:09 +0000 (14:13 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 2 May 2017 13:05:33 +0000 (15:05 +0200)
src/xbt/log.c

index e9ed472..9e3da3c 100644 (file)
@@ -602,13 +602,12 @@ static xbt_log_setting_t _xbt_log_parse_setting(const char *control_string)
 
   control_string += strspn(control_string, " ");
   const char *name = control_string;
-  control_string += strcspn(control_string, ".= ");
+  control_string += strcspn(control_string, ".:= ");
   const char *dot = control_string;
   control_string += strcspn(control_string, ":= ");
   const char *eq = control_string;
 
-  if(*dot != '.' && (*eq == '=' || *eq == ':'))
-    xbt_die ("Invalid control string '%s'", orig_control_string);
+  xbt_assert(*dot == '.' || (*eq != '=' && *eq != ':'), "Invalid control string '%s'", orig_control_string);
 
   if (!strncmp(dot + 1, "threshold", (size_t) (eq - dot - 1))) {
     int i;
@@ -678,7 +677,7 @@ static xbt_log_setting_t _xbt_log_parse_setting(const char *control_string)
   } else {
     char buff[512];
     snprintf(buff, MIN(512, eq - dot), "%s", dot + 1);
-    THROWF(arg_error, 0, "Unknown setting of the log category: '%s'", buff);
+    xbt_die("Unknown setting of the log category: '%s'", buff);
   }
   set->catname = (char *) xbt_malloc(dot - name + 1);