Refactor out note deserialization

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2011-08-02 21:36:25 +02:00
parent c7b56ca556
commit bc97d60ef2
3 changed files with 12 additions and 8 deletions

View File

@ -753,6 +753,7 @@ void mem_stats (void);
void edit_note (char **, char *);
void view_note (char *, char *);
void erase_note (char **, enum eraseflg);
void note_read (char *, FILE *);
/* notify.c */
int notify_time_left (void);

View File

@ -1226,10 +1226,8 @@ io_load_app (void)
c = getc (data_file);
if (c == '>')
{
(void)fgets (note, NOTESIZ + 1, data_file);
note[NOTESIZ] = '\0';
note_read (note, data_file);
notep = note;
getc (data_file);
}
else
{
@ -1324,11 +1322,7 @@ io_load_todo (void)
/* Now read the attached note, if any. */
c = getc (data_file);
if (c == '>')
{
(void)fgets (note, NOTESIZ + 1, data_file);
note[NOTESIZ] = '\0';
getc (data_file);
}
note_read (note, data_file);
else
note[0] = '\0';
/* Then read todo description. */

View File

@ -88,3 +88,12 @@ erase_note (char **note, enum eraseflg flag)
mem_free (*note);
*note = NULL;
}
/* Read a serialized note file name from a stream and deserialize it. */
void
note_read (char *buffer, FILE *fp)
{
(void)fgets (buffer, NOTESIZ + 1, fp);
buffer[NOTESIZ] = '\0';
getc (fp);
}