document msg parameter to folder
[mmh] / sbr / folder_addmsg.c
index 401896a..52baa7a 100644 (file)
@@ -2,8 +2,6 @@
 /*
  * folder_addmsg.c -- Link message into folder
  *
- * $Id$
- *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  * complete copyright information.
@@ -20,7 +18,7 @@
 
 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];
@@ -142,7 +140,7 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
        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
@@ -180,11 +178,11 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
             */
            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);
@@ -198,7 +196,7 @@ folder_addmsg (struct msgs **mpp, char *msgfile, int selected,
                    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