Refactor saving of trigger info.

This commit is contained in:
Dianne Skoll
2020-02-23 11:38:17 -05:00
parent 018e9d0323
commit 6b991cdf9c
5 changed files with 16 additions and 20 deletions

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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");

View File

@@ -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;
}