Refactor out todo item serialization
Add a todo_write() function that allows one to serialize todo items and write serialized data to an output stream in a fashion similar to apoint_write() and event_write(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
29d71935af
commit
3076670a76
@ -827,6 +827,7 @@ int todo_hilt_pos (void);
|
||||
char *todo_saved_mesg (void);
|
||||
void todo_new_item (void);
|
||||
struct todo *todo_add (char *, int, char *);
|
||||
void todo_write (struct todo *, FILE *);
|
||||
void todo_flag (void);
|
||||
void todo_delete (struct conf *);
|
||||
void todo_chg_priority (int);
|
||||
|
5
src/io.c
5
src/io.c
@ -1023,10 +1023,7 @@ io_save_todo (void)
|
||||
LLIST_FOREACH (&todolist, i)
|
||||
{
|
||||
struct todo *todo = LLIST_TS_GET_DATA (i);
|
||||
if (todo->note)
|
||||
(void)fprintf (fp, "[%d]>%s %s\n", todo->id, todo->note, todo->mesg);
|
||||
else
|
||||
(void)fprintf (fp, "[%d] %s\n", todo->id, todo->mesg);
|
||||
todo_write (todo, fp);
|
||||
}
|
||||
file_close (fp, __FILE_POS__);
|
||||
|
||||
|
@ -183,6 +183,15 @@ todo_add (char *mesg, int id, char *note)
|
||||
return todo;
|
||||
}
|
||||
|
||||
void
|
||||
todo_write (struct todo *todo, FILE *f)
|
||||
{
|
||||
if (todo->note)
|
||||
(void)fprintf (f, "[%d]>%s %s\n", todo->id, todo->note, todo->mesg);
|
||||
else
|
||||
(void)fprintf (f, "[%d] %s\n", todo->id, todo->mesg);
|
||||
}
|
||||
|
||||
/* Delete a note previously attached to a todo item. */
|
||||
static void
|
||||
todo_delete_note_bynum (unsigned num)
|
||||
|
Loading…
x
Reference in New Issue
Block a user