]> diplodocus.org Git - nmh/commitdiff
mhfixmsg: Use folder name to open second message of a sequence.
authorRalph Corderoy <ralph@inputplus.co.uk>
Tue, 17 Jan 2017 12:54:02 +0000 (12:54 +0000)
committerRalph Corderoy <ralph@inputplus.co.uk>
Tue, 17 Jan 2017 12:54:02 +0000 (12:54 +0000)
`mhfixmsg foo' where foo was sequence of more than one message would
sucessfully process the lowest numbered message of the sequence, but
fail to open(2) the second one as the folder was missing from the path.
For example, /home/ralph/mail/inbox/1 was used to open the first, but
/home/ralph/mail/2 was attempted for the second.  I guess this was
because a static array was being trampled during the first's processing,
though didn't try too hard to find where.  Making a copy of it fixed the
problem.

uip/mhfixmsg.c

index 2a701f0057478e467480a23af24ca073b966fd65..a0c6efda9030b61f157f95d0a8e0a4de1b9d92e8 100644 (file)
@@ -406,7 +406,7 @@ main (int argc, char **argv) {
         if (! folder) {
             folder = getfolder (1);
         }
-        maildir = m_maildir (folder);
+        maildir = mh_xstrdup(m_maildir (folder));
 
         /* chdir so that error messages, esp. from MIME parser, just
            refer to the message and not its path. */
@@ -505,6 +505,7 @@ main (int argc, char **argv) {
         status = 1;
     }
 
+    mh_xfree(maildir);
     free (cts);
 
     if (fx.fixtypes != NULL) { svector_free (fx.fixtypes); }