diff --git a/src/dorem.c b/src/dorem.c index 9abb56bf..49c93335 100644 --- a/src/dorem.c +++ b/src/dorem.c @@ -814,7 +814,7 @@ int ShouldTriggerReminder(Trigger *t, TimeTrig *tim, int jul) if (!IsOmitted(jul, t->localomit, t->omitfunc)) r--; } if (iter > max) { - /* TODO: Somehow communicate error back to caller!! */ + Eprint("Delta: Bad OMITFUNC? %s", ErrMsg[E_CANT_TRIG]); return 0; } } @@ -1024,7 +1024,10 @@ static int ShouldTriggerBasedOnWarn(Trigger *t, int jul) break; } } - if (iter > max) return 0; + if (iter > max) { + Eprint("Delta: Bad OMITFUNC? %s", ErrMsg[E_CANT_TRIG]); + return 0; + } if (j == JulianToday) return 1; } } diff --git a/src/trigger.c b/src/trigger.c index 2f61b264..452c69e7 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -304,6 +304,7 @@ static int GetNextTriggerDate(Trigger *trig, int start, int *err, int *nextstart } if (iter > MaxSatIter) { /* omitfunc must have returned "true" too often */ + *err = E_CANT_TRIG; return -2; } } @@ -336,6 +337,10 @@ static int GetNextTriggerDate(Trigger *trig, int start, int *err, int *nextstart simple--; if (!IsOmitted(simple, trig->localomit, trig->omitfunc)) mod--; } + if (iter > max) { + *err = E_CANT_TRIG; + return -2; + } } } @@ -358,6 +363,7 @@ static int GetNextTriggerDate(Trigger *trig, int start, int *err, int *nextstart simple--; } if (iter > MaxSatIter) { + *err = E_CANT_TRIG; return -2; } } @@ -372,6 +378,7 @@ static int GetNextTriggerDate(Trigger *trig, int start, int *err, int *nextstart simple++; } if (iter > MaxSatIter) { + *err = E_CANT_TRIG; return -2; } }