From 2fe7a36aab8c6c934550b2b8dc2074c1af23859a Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Tue, 2 Aug 2011 21:42:10 +0200 Subject: Accept variable length note names Read up to the first blank in note_read() instead of assuming a fixed-width note file name. Accept everything up to 40 characters (which is the length of a SHA1 hash in hexadecimal representation). Signed-off-by: Lukas Fleischer --- src/note.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/note.c') diff --git a/src/note.c b/src/note.c index 91aae66..c8aa1ec 100644 --- a/src/note.c +++ b/src/note.c @@ -93,7 +93,18 @@ erase_note (char **note, enum eraseflg flag) void note_read (char *buffer, FILE *fp) { - (void)fgets (buffer, NOTESIZ + 1, fp); - buffer[NOTESIZ] = '\0'; - getc (fp); + int i; + + for (i = 0; i < MAX_NOTESIZ; i++) + { + buffer[i] = getc (fp); + if (buffer[i] == ' ') + { + buffer[i] = '\0'; + return; + } + } + + while (getc (fp) != ' '); + buffer[MAX_NOTESIZ] = '\0'; } -- cgit v1.2.3-54-g00ecf