- if (strlen(val) > 0) {
- if (sscanf(val, "%lg" " " "%lg" "\n", &event.delta, &event.value) != 2) {
- xbt_assert2(0, "%s\n%d: Syntax error", input, linecount);
- }
- if (last_event) {
- if ((last_event->delta = event.delta - last_event->delta) <= 0) {
- xbt_assert2(0,
- "%s\n%d: Invalid trace value, events have to be sorted",
- input, linecount);
- }
+ if (val[0] == '#' || val[0] == '\0' || val[0] == '%')
+ continue;
+
+ if (sscanf(val, "PERIODICITY " "%lg" "\n", &periodicity) == 1)
+ continue;
+
+ if (sscanf(val, "%lg" " " "%lg" "\n", &event.delta, &event.value) != 2)
+ xbt_die("%s:%d: Syntax error in trace\n%s", id, linecount, input);
+
+ if (last_event) {
+ if (last_event->delta > event.delta) {
+ xbt_die("%s:%d: Invalid trace: Events must be sorted, "
+ "but time %lg > time %lg.\n%s",
+ id, linecount, last_event->delta, event.delta, input);