summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2011-10-06 08:57:38 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2011-10-21 08:58:53 +0200
commitb0a6e1d4482499bbaa08238a8cb09b6f692556d6 (patch)
tree7cffb33ce09b5779f5a7806ef9a88ffe1b5a15a9
parent3e84074ae55bc93faad0b708aa0dd6fd0f09ade9 (diff)
downloadcalcurse-b0a6e1d4482499bbaa08238a8cb09b6f692556d6.zip
Pass item durations to recur_item_inday()
Having item's durations eventually allows for better parsing of recurrent appointments as we might be interested in how many days are covered by a multi-day appointment. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
-rw-r--r--src/calcurse.h3
-rw-r--r--src/io.c4
-rw-r--r--src/notify.c8
-rw-r--r--src/recur.c10
4 files changed, 13 insertions, 12 deletions
diff --git a/src/calcurse.h b/src/calcurse.h
index a681f92..a3ea45c 100644
--- a/src/calcurse.h
+++ b/src/calcurse.h
@@ -821,7 +821,8 @@ struct recur_event *recur_event_scan (FILE *, struct tm, int, char,
void recur_apoint_write (struct recur_apoint *, FILE *);
void recur_event_write (struct recur_event *, FILE *);
void recur_save_data (FILE *);
-unsigned recur_item_inday (long, llist_t *, int, int, long, long);
+unsigned recur_item_inday (long, long, llist_t *, int, int, long,
+ long);
unsigned recur_apoint_inday(struct recur_apoint *, long);
unsigned recur_event_inday(struct recur_event *, long);
void recur_event_erase (long, unsigned, unsigned,
diff --git a/src/io.c b/src/io.c
index c3a6a61..831f6b6 100644
--- a/src/io.c
+++ b/src/io.c
@@ -264,8 +264,8 @@ foreach_date_dump (const long date_end, struct rpt *rpt, llist_t *exc,
while (date <= date_end && date <= rpt->until)
{
- if (recur_item_inday (item_first_date, exc, rpt->type, rpt->freq,
- rpt->until, date))
+ if (recur_item_inday (item_first_date, item_dur, exc, rpt->type,
+ rpt->freq, rpt->until, date))
{
(*cb_dump)(stream, date + item_time, item_dur, item_mesg);
}
diff --git a/src/notify.c b/src/notify.c
index 590a3e4..e1a7dab 100644
--- a/src/notify.c
+++ b/src/notify.c
@@ -513,9 +513,9 @@ notify_check_repeated (struct recur_apoint *i)
current_time = time (NULL);
pthread_mutex_lock (&notify_app.mutex);
- if ((real_app_time = recur_item_inday (i->start, &i->exc, i->rpt->type,
- i->rpt->freq, i->rpt->until,
- get_today ())))
+ if ((real_app_time = recur_item_inday (i->start, i->dur, &i->exc,
+ i->rpt->type, i->rpt->freq,
+ i->rpt->until, get_today ())))
{
if (!notify_app.got_app)
{
@@ -558,7 +558,7 @@ notify_same_recur_item (struct recur_apoint *i)
int same = 0;
long item_start = 0;
- item_start = recur_item_inday (i->start, &i->exc, i->rpt->type,
+ item_start = recur_item_inday (i->start, i->dur, &i->exc, i->rpt->type,
i->rpt->freq, i->rpt->until, get_today ());
pthread_mutex_lock (&notify_app.mutex);
if (notify_app.got_app && item_start == notify_app.time)
diff --git a/src/recur.c b/src/recur.c
index de2efff..b33144d 100644
--- a/src/recur.c
+++ b/src/recur.c
@@ -631,8 +631,8 @@ exc_inday (struct excp *exc, long day_start)
* calculation of recurrent dates after a turn of years.
*/
unsigned
-recur_item_inday (long item_start, llist_t *item_exc, int rpt_type,
- int rpt_freq, long rpt_until, long day_start)
+recur_item_inday (long item_start, long item_dur, llist_t *item_exc,
+ int rpt_type, int rpt_freq, long rpt_until, long day_start)
{
struct date start_date;
long day_end, diff;
@@ -708,15 +708,15 @@ recur_item_inday (long item_start, llist_t *item_exc, int rpt_type,
unsigned
recur_apoint_inday(struct recur_apoint *rapt, long day_start)
{
- return recur_item_inday (rapt->start, &rapt->exc, rapt->rpt->type,
+ return recur_item_inday (rapt->start, rapt->dur, &rapt->exc, rapt->rpt->type,
rapt->rpt->freq, rapt->rpt->until, day_start);
}
unsigned
recur_event_inday(struct recur_event *rev, long day_start)
{
- return recur_item_inday (rev->day, &rev->exc, rev->rpt->type, rev->rpt->freq,
- rev->rpt->until, day_start);
+ return recur_item_inday (rev->day, DAYINSEC, &rev->exc, rev->rpt->type,
+ rev->rpt->freq, rev->rpt->until, day_start);
}
/*