sync_mailbox() did not update the msg struct when flags were changed,

causing the expunge command to fail

remove bogus strfcpy() line
This commit is contained in:
Michael Elkins 2002-01-16 22:13:19 +00:00
parent 8c8f6916c6
commit 2f2b123d71
2 changed files with 10 additions and 1 deletions

View File

@ -278,7 +278,6 @@ maildir_open (const char *path, int flags)
/* determine the UID for this message. The basename (sans
* flags) is used as the key in the db
*/
strfcpy (buf, p->file, sizeof (buf));
key.dptr = p->file;
s = strchr (key.dptr, ':');
key.dsize = s ? (size_t) (s - key.dptr) : strlen (key.dptr);

10
sync.c
View File

@ -220,7 +220,17 @@ sync_mailbox (mailbox_t * mbox, imap_t * imap, int flags,
(cur->flags & D_DELETED) ? "T" : "");
if (rename (path, newpath))
{
perror ("rename");
return -1;
}
else
{
/* update the filename in the msg struct */
p=strrchr(newpath,'/');
free(cur->file);
cur->file=strdup(p+1);
}
}
}