From: Jon Steinhart Date: Fri, 15 Oct 2004 17:10:58 +0000 (+0000) Subject: Fixed calling of external hooks. X-Git-Tag: RELEASE_1_2~59 X-Git-Url: http://git.marmaro.de/?p=mmh;a=commitdiff_plain;h=150eda989f39dde2dd6112b46c50558cd9bfd5fd;ds=sidebyside Fixed calling of external hooks. --- diff --git a/uip/sortm.c b/uip/sortm.c index 8f9bf81..4b8048f 100644 --- a/uip/sortm.c +++ b/uip/sortm.c @@ -534,13 +534,13 @@ rename_chain (struct msgs *mp, struct smsg **mlist, int msg, int endmsg) if (verbose) printf ("message %d becomes message %d\n", old, new); - if (rename (oldname, newname) == NOTOK) - adios (newname, "unable to rename %s to", oldname); - (void)snprintf(oldname, sizeof (oldname), "%s/%d", mp->foldpath, old); (void)snprintf(newbuf, sizeof (newbuf), "%s/%d", mp->foldpath, new); ext_hook("ref-hook", oldname, newbuf); + if (rename (oldname, newname) == NOTOK) + adios (newname, "unable to rename %s to", oldname); + copy_msg_flags (mp, new, old); if (mp->curmsg == old) seq_setcur (mp, new); @@ -585,24 +585,22 @@ rename_msgs (struct msgs *mp, struct smsg **mlist) if (verbose) printf ("renaming message chain from %d to %d\n", old, new); - if (rename (f1, tmpfil) == NOTOK) - adios (tmpfil, "unable to rename %s to ", f1); - /* - * Run the external hook to refile the old message as message - * number 2147483647. This is our way of making a temporary - * message number. I don't really like this. + * Run the external hook to refile the old message as the + * temporary message number that is off of the end of the + * messages in the folder. */ (void)snprintf(f1, sizeof (f1), "%s/%d", mp->foldpath, old); - (void)snprintf(newbuf, sizeof (newbuf), "%s/2147483647", mp->foldpath); + (void)snprintf(newbuf, sizeof (newbuf), "%s/%d", mp->foldpath, mp->hghmsg + 1); ext_hook("ref-hook", f1, newbuf); + if (rename (f1, tmpfil) == NOTOK) + adios (tmpfil, "unable to rename %s to ", f1); + get_msg_flags (mp, &tmpset, old); rename_chain (mp, mlist, j, i); - if (rename (tmpfil, m_name(new)) == NOTOK) - adios (m_name(new), "unable to rename %s to", tmpfil); /* * Run the external hook to refile the temorary message number @@ -612,6 +610,9 @@ rename_msgs (struct msgs *mp, struct smsg **mlist) (void)snprintf(f1, sizeof (f1), "%s/%d", mp->foldpath, new); ext_hook("ref-hook", newbuf, f1); + if (rename (tmpfil, m_name(new)) == NOTOK) + adios (m_name(new), "unable to rename %s to", tmpfil); + set_msg_flags (mp, &tmpset, new); mp->msgflags |= SEQMOD; }