diff --git a/src/dorem.c b/src/dorem.c index 5780a650..bfa3c485 100644 --- a/src/dorem.c +++ b/src/dorem.c @@ -1118,11 +1118,7 @@ int DoSatRemind(Trigger *trig, TimeTrig *tt, ParsePtr p) trig->eventduration = tt->duration; } } - LastTriggerTime = tt->ttime; - SaveLastTimeTrig(tt); - SaveLastTrigger(trig); - LastTriggerDate = jul; - LastTrigValid = 1; + SaveAllTriggerInfo(trig, tt, jul, tt->ttime, 1); } if (jul == -1) { return E_EXPIRED; diff --git a/src/main.c b/src/main.c index 50bf1f14..81473bde 100644 --- a/src/main.c +++ b/src/main.c @@ -1370,6 +1370,16 @@ ClearLastTriggers(void) LastTimeTrig.duration = NO_TIME; } +void +SaveAllTriggerInfo(Trigger const *t, TimeTrig const *tt, int trigdate, int trigtime, int valid) +{ + SaveLastTrigger(t); + SaveLastTimeTrig(tt); + LastTriggerDate = trigdate; + LastTriggerTime = trigtime; + LastTrigValid = valid; +} + void SaveLastTrigger(Trigger const *t) { diff --git a/src/protos.h b/src/protos.h index f75a67da..07b2ac73 100644 --- a/src/protos.h +++ b/src/protos.h @@ -148,6 +148,8 @@ char const *SynthesizeTag(void); void ClearLastTriggers(void); void SaveLastTrigger(Trigger const *t); void SaveLastTimeTrig(TimeTrig const *t); +void SaveAllTriggerInfo(Trigger const *t, TimeTrig const *tt, int trigdate, int trigtime, int valid); + void PerIterationInit(void); char const *Decolorize(int r, int g, int b); char const *Colorize(int r, int g, int b); diff --git a/src/queue.c b/src/queue.c index 2553c87d..9d103158 100644 --- a/src/queue.c +++ b/src/queue.c @@ -246,11 +246,7 @@ void HandleQueuedReminders(void) /* Set up global variables so some functions like trigdate() and trigtime() work correctly */ - LastTriggerDate = JulianToday; - LastTriggerTime = q->tt.ttime; - LastTrigValid = 1; - SaveLastTrigger(&(q->t)); - SaveLastTimeTrig(&(q->tt)); + SaveAllTriggerInfo(&(q->t), &(q->tt), JulianToday, q->tt.ttime, 1); (void) TriggerReminder(&p, &trig, &q->tt, JulianToday); if (Daemon < 0) { printf("NOTE endreminder\n"); diff --git a/src/trigger.c b/src/trigger.c index a665cdf5..a76e9645 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -454,11 +454,7 @@ AdjustTriggerForDuration(int today, int r, Trigger *trig, TimeTrig *tim, int sav } if (save_in_globals) { - LastTriggerTime = tim->ttime; - SaveLastTimeTrig(tim); - SaveLastTrigger(trig); - LastTriggerDate = r; - LastTrigValid = 1; + SaveAllTriggerInfo(trig, tim, r, tim->ttime, 1); } return r; } @@ -486,11 +482,7 @@ int ComputeTrigger(int today, Trigger *trig, TimeTrig *tim, } } if (save_in_globals) { - LastTriggerTime = tim->ttime; - SaveLastTimeTrig(tim); - SaveLastTrigger(trig); - LastTriggerDate = r; - LastTrigValid = 1; + SaveAllTriggerInfo(trig, tim, r, tim->ttime, 1); } return r; }