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 <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2011-08-02 21:42:10 +02:00
parent bc97d60ef2
commit 2fe7a36aab
4 changed files with 22 additions and 10 deletions

View File

@@ -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';
}