Use a dynamic method to print recurrent items to stdout
Add print_recur_apoint() and print_recur_event() helper functions to print recurrent items to stdout and use them everywhere. Currently, these are only wrapper functions to print_apoint() and print_event() that create temporary, non-recurrent items. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
a9b820abbe
commit
3c59faa925
10
src/args.c
10
src/args.c
@ -385,9 +385,7 @@ app_arg (int add_line, struct date *day, long date, int print_note,
|
||||
arg_print_date (today);
|
||||
print_date = 0;
|
||||
}
|
||||
fputs (" * ", stdout);
|
||||
fputs (re->mesg, stdout);
|
||||
fputs ("\n", stdout);
|
||||
print_recur_event (" * %m\n", today, re);
|
||||
if (print_note && re->note)
|
||||
print_notefile (stdout, re->note, 2);
|
||||
}
|
||||
@ -482,10 +480,8 @@ app_arg (int add_line, struct date *day, long date, int print_note,
|
||||
arg_print_date (today);
|
||||
print_date = 0;
|
||||
}
|
||||
apt = apoint_recur_s2apoint_s (ra);
|
||||
print_apoint (" - %S -> %E\n\t%m\n", today, apt);
|
||||
mem_free (apt->mesg);
|
||||
mem_free (apt);
|
||||
recur_apoint_find_occurrence (ra, today, &occurrence);
|
||||
print_recur_apoint (" - %S -> %E\n\t%m\n", today, occurrence, ra);
|
||||
if (print_note && ra->note)
|
||||
print_notefile (stdout, ra->note, 2);
|
||||
apt = NULL;
|
||||
|
@ -924,6 +924,9 @@ int child_wait (int *, int *, int);
|
||||
void press_any_key (void);
|
||||
void print_apoint (const char *, long, struct apoint *);
|
||||
void print_event (const char *, long, struct event *);
|
||||
void print_recur_apoint (const char *, long, unsigned,
|
||||
struct recur_apoint *);
|
||||
void print_recur_event (const char *, long, struct recur_event *);
|
||||
|
||||
/* vars.c */
|
||||
extern int col, row;
|
||||
|
27
src/utils.c
27
src/utils.c
@ -1033,3 +1033,30 @@ print_event (const char *format, long day, struct event *ev)
|
||||
putchar (*p);
|
||||
}
|
||||
}
|
||||
|
||||
/* Print a formatted recurrent appointment to stdout. */
|
||||
void
|
||||
print_recur_apoint (const char *format, long day, unsigned occurrence,
|
||||
struct recur_apoint *rapt)
|
||||
{
|
||||
struct apoint apt;
|
||||
|
||||
apt.start = occurrence;
|
||||
apt.dur = rapt->dur;
|
||||
apt.mesg = rapt->mesg;
|
||||
apt.note = rapt->note;
|
||||
|
||||
print_apoint (format, day, &apt);
|
||||
}
|
||||
|
||||
/* Print a formatted recurrent event to stdout. */
|
||||
void
|
||||
print_recur_event (const char *format, long day, struct recur_event *rev)
|
||||
{
|
||||
struct event ev;
|
||||
|
||||
ev.mesg = rev->mesg;
|
||||
ev.note = rev->note;
|
||||
|
||||
print_event (format, day, &ev);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user