calcurse uses long for times all over the place

Index: src/day.c
--- src/day.c.orig
+++ src/day.c
@@ -856,6 +856,7 @@ int day_paste_item(struct day_item *p, time_t date)
 	 * Careful: p->start is not yet set.
 	 */
 	time_t until;
+	long until_l;
 
 	switch (p->type) {
 	case EVNT:
@@ -867,9 +868,10 @@ int day_paste_item(struct day_item *p, time_t date)
 		    overflow_add(
 			date - p->item.rev->day,
 			p->item.rev->rpt->until,
-			&until)
+			&until_l)
 		)
 			return 0;
+		until = until_l;
 		if (check_sec(&until))
 			recur_event_paste_item(p->item.rev, date);
 		else
@@ -884,9 +886,10 @@ int day_paste_item(struct day_item *p, time_t date)
 		    overflow_add(
 			date - DAY(p->item.rapt->start),
 			p->item.rapt->rpt->until,
-			&until)
+			&until_l)
 		)
 			return 0;
+		until = until_l;
 		if (check_sec(&until))
 			recur_apoint_paste_item(p->item.rapt, date);
 		else
