diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-07-01 14:26:43 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-07-02 10:15:35 +0200 |
commit | 3076670a76652d538f8b3d0d925197ec2ce32dd9 (patch) | |
tree | 80a90e859b8a7e7c41e7966c21eecefaac82266c | |
parent | 29d71935afdfb18391cd2450814ba53f1739518e (diff) | |
download | calcurse-3076670a76652d538f8b3d0d925197ec2ce32dd9.tar.gz calcurse-3076670a76652d538f8b3d0d925197ec2ce32dd9.zip |
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>
-rw-r--r-- | src/calcurse.h | 1 | ||||
-rw-r--r-- | src/io.c | 5 | ||||
-rw-r--r-- | src/todo.c | 9 |
3 files changed, 11 insertions, 4 deletions
diff --git a/src/calcurse.h b/src/calcurse.h index 315f8e1..e18d754 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -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); @@ -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) |