aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/day.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/day.c b/src/day.c
index 3748b7c..009df47 100644
--- a/src/day.c
+++ b/src/day.c
@@ -195,9 +195,13 @@ day_store_apoints (long date)
int a_nb = 0;
LLIST_TS_LOCK (&alist_p);
- LLIST_TS_FIND_FOREACH_CONT (&alist_p, date, apoint_inday, i)
+ LLIST_TS_FIND_FOREACH (&alist_p, date, apoint_inday, i)
{
struct apoint *apt = LLIST_TS_GET_DATA (i);
+
+ if (apt->start >= date + DAYINSEC)
+ break;
+
day_add_apoint (APPT, apt->mesg, apt->note, apt->start, apt->dur,
apt->state, 0);
a_nb++;
@@ -547,12 +551,15 @@ day_chk_busy_slices (struct date day, int slicesno, int *slices)
LLIST_TS_UNLOCK (&recur_alist_p);
LLIST_TS_LOCK (&alist_p);
- LLIST_TS_FIND_FOREACH_CONT (&alist_p, date, apoint_inday, i)
+ LLIST_TS_FIND_FOREACH (&alist_p, date, apoint_inday, i)
{
struct apoint *apt = LLIST_TS_GET_DATA (i);
long start = get_item_time (apt->start);
long end = get_item_time (apt->start + apt->dur);
+ if (apt->start >= date + DAYINSEC)
+ break;
+
if (!fill_slices (slices, slicesno, SLICENUM (start), SLICENUM (end)))
{
LLIST_TS_UNLOCK (&alist_p);