Do not re-fetch items in day_*_{item,note}()

We can access these using the pointer field of the generic item
structure now -- there's no need to search for these twice any more.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2012-06-25 13:01:06 +02:00
parent 75d0c4dc17
commit 75dd5eb037

View File

@ -791,17 +791,13 @@ void day_edit_item(void)
struct event *e; struct event *e;
struct recur_apoint *ra; struct recur_apoint *ra;
struct apoint *a; struct apoint *a;
long date;
int item_num;
int need_check_notify = 0; int need_check_notify = 0;
item_num = apoint_hilt(); p = day_get_item(apoint_hilt());
p = day_get_item(item_num);
date = calendar_get_slctd_day_sec();
switch (p->type) { switch (p->type) {
case RECUR_EVNT: case RECUR_EVNT:
re = recur_get_event(date, day_item_nb(date, item_num, RECUR_EVNT)); re = p->item.rev;
const char *choice_recur_evnt[2] = { const char *choice_recur_evnt[2] = {
_("Description"), _("Description"),
_("Repetition"), _("Repetition"),
@ -818,11 +814,11 @@ void day_edit_item(void)
} }
break; break;
case EVNT: case EVNT:
e = event_get(date, day_item_nb(date, item_num, EVNT)); e = p->item.ev;
update_desc(&e->mesg); update_desc(&e->mesg);
break; break;
case RECUR_APPT: case RECUR_APPT:
ra = recur_get_apoint(date, day_item_nb(date, item_num, RECUR_APPT)); ra = p->item.rapt;
const char *choice_recur_appt[4] = { const char *choice_recur_appt[4] = {
_("Start time"), _("Start time"),
_("End time"), _("End time"),
@ -851,7 +847,7 @@ void day_edit_item(void)
} }
break; break;
case APPT: case APPT:
a = apoint_get(date, day_item_nb(date, item_num, APPT)); a = p->item.apt;
const char *choice_appt[3] = { const char *choice_appt[3] = {
_("Start time"), _("Start time"),
_("End time"), _("End time"),
@ -1044,35 +1040,23 @@ void day_edit_note(const char *editor)
{ {
struct day_item *p; struct day_item *p;
char *note; char *note;
struct recur_apoint *ra;
struct apoint *a;
struct recur_event *re;
struct event *e;
long date;
int item_num;
item_num = apoint_hilt(); p = day_get_item(apoint_hilt());
p = day_get_item(item_num);
note = day_item_get_note(p); note = day_item_get_note(p);
edit_note(&note, editor); edit_note(&note, editor);
date = calendar_get_slctd_day_sec();
switch (p->type) { switch (p->type) {
case RECUR_EVNT: case RECUR_EVNT:
re = recur_get_event(date, day_item_nb(date, item_num, RECUR_EVNT)); p->item.rev->note = note;
re->note = note;
break; break;
case EVNT: case EVNT:
e = event_get(date, day_item_nb(date, item_num, EVNT)); p->item.ev->note = note;
e->note = note;
break; break;
case RECUR_APPT: case RECUR_APPT:
ra = recur_get_apoint(date, day_item_nb(date, item_num, RECUR_APPT)); p->item.rapt->note = note;
ra->note = note;
break; break;
case APPT: case APPT:
a = apoint_get(date, day_item_nb(date, item_num, APPT)); p->item.apt->note = note;
a->note = note;
break; break;
} }
} }
@ -1092,13 +1076,7 @@ void day_pipe_item(void)
int pout; int pout;
int pid; int pid;
FILE *fpout; FILE *fpout;
int item_num;
long date;
struct day_item *p; struct day_item *p;
struct recur_apoint *ra;
struct apoint *a;
struct recur_event *re;
struct event *e;
status_mesg(_("Pipe item to external command:"), ""); status_mesg(_("Pipe item to external command:"), "");
if (getstring(win[STA].p, cmd, BUFSIZ, 0, 1) != GETSTRING_VALID) if (getstring(win[STA].p, cmd, BUFSIZ, 0, 1) != GETSTRING_VALID)
@ -1108,25 +1086,19 @@ void day_pipe_item(void)
if ((pid = shell_exec(NULL, &pout, *arg, arg))) { if ((pid = shell_exec(NULL, &pout, *arg, arg))) {
fpout = fdopen(pout, "w"); fpout = fdopen(pout, "w");
item_num = apoint_hilt(); p = day_get_item(apoint_hilt());
p = day_get_item(item_num);
date = calendar_get_slctd_day_sec();
switch (p->type) { switch (p->type) {
case RECUR_EVNT: case RECUR_EVNT:
re = recur_get_event(date, day_item_nb(date, item_num, RECUR_EVNT)); recur_event_write(p->item.rev, fpout);
recur_event_write(re, fpout);
break; break;
case EVNT: case EVNT:
e = event_get(date, day_item_nb(date, item_num, EVNT)); event_write(p->item.ev, fpout);
event_write(e, fpout);
break; break;
case RECUR_APPT: case RECUR_APPT:
ra = recur_get_apoint(date, day_item_nb(date, item_num, RECUR_APPT)); recur_apoint_write(p->item.rapt, fpout);
recur_apoint_write(ra, fpout);
break; break;
case APPT: case APPT:
a = apoint_get(date, day_item_nb(date, item_num, APPT)); apoint_write(p->item.apt, fpout);
apoint_write(a, fpout);
break; break;
} }