int
folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
- int unseen, int preserve, int deleting)
+ int unseen, int preserve, int deleting, char *from_dir)
{
int infd, outfd, linkerr, first_time, msgnum;
char *nmsg, newmsg[BUFSIZ];
if (link (msgfile, newmsg) != -1) {
if (deleting) {
- (void)snprintf(oldmsg, sizeof (oldmsg), "%s/%s", pwd(), msgfile);
+ (void)snprintf(oldmsg, sizeof (oldmsg), "%s/%s", from_dir, msgfile);
(void)ext_hook("ref-hook", oldmsg, newmsg);
}
else
*/
if (linkerr == EXDEV) {
if (stat (newmsg, &st1) == 0) {
- advise (NULL, "message %s:%s already exists", newmsg);
+ advise (NULL, "message %s:%s already exists", mp->foldpath, newmsg);
return -1;
} else {
if ((infd = open (msgfile, O_RDONLY)) == -1) {
- advise (msgfile, "unable to open message %s");
+ advise (msgfile, "unable to open message %s", msgfile);
return -1;
}
fstat (infd, &st1);
close (outfd);
if (deleting) {
- (void)snprintf(oldmsg, sizeof (oldmsg), "%s/%s", pwd(), msgfile);
+ (void)snprintf(oldmsg, sizeof (oldmsg), "%s/%s", from_dir, msgfile);
(void)ext_hook("ref-hook", oldmsg, newmsg);
}
else