/*
- * folder_pack.c -- pack (renumber) the messages in a folder
- * -- into a contiguous range from 1 to n.
- *
- * 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.
- */
+** folder_pack.c -- pack (renumber) the messages in a folder
+** -- into a contiguous range from 1 to n.
+**
+** 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.
+*/
#include <h/mh.h>
/*
- * Pack the message in a folder.
- * Return -1 if error, else return 0.
- */
+** Pack the message in a folder.
+** Return -1 if error, else return 0.
+*/
int
-folder_pack (struct msgs **mpp, int verbose)
+folder_pack(struct msgs **mpp, int verbose)
{
int hole, msgnum, newcurrent = 0;
char newmsg[BUFSIZ], oldmsg[BUFSIZ];
mp = *mpp;
/*
- * Just return if folder is empty.
- */
+ ** Just return if folder is empty.
+ */
if (mp->nummsg == 0)
return 0;
/*
- * Make sure we have message status space allocated
- * for all numbers from 1 to current high message.
- */
+ ** Make sure we have message status space allocated
+ ** for all numbers from 1 to current high message.
+ */
if (mp->lowoff > 1) {
- if ((mp = folder_realloc (mp, 1, mp->hghmsg)))
+ if ((mp = folder_realloc(mp, 1, mp->hghmsg)))
*mpp = mp;
else {
- advise (NULL, "unable to allocate folder storage");
+ advise(NULL, "unable to allocate folder storage");
return -1;
}
}
for (msgnum = mp->lowmsg, hole = 1; msgnum <= mp->hghmsg; msgnum++) {
- if (does_exist (mp, msgnum)) {
+ if (does_exist(mp, msgnum)) {
if (msgnum != hole) {
- strncpy (newmsg, m_name (hole), sizeof(newmsg));
- strncpy (oldmsg, m_name (msgnum), sizeof(oldmsg));
+ strncpy(newmsg, m_name(hole), sizeof(newmsg));
+ strncpy(oldmsg, m_name(msgnum), sizeof(oldmsg));
if (verbose)
- printf ("message %s becomes %s\n", oldmsg, newmsg);
+ printf("message %s becomes %s\n", oldmsg, newmsg);
/*
- * Invoke the external refile hook for each message being renamed.
- * This is done before the file is renamed so that the old message
- * file is around for the hook.
- */
-
- (void)snprintf(oldmsg, sizeof (oldmsg), "%s/%d", mp->foldpath, msgnum);
- (void)snprintf(newmsg, sizeof (newmsg), "%s/%d", mp->foldpath, hole);
+ ** Invoke the external refile hook for each
+ ** message being renamed. This is done
+ ** before the file is renamed so that the
+ ** old message file is around for the hook.
+ */
+
+ snprintf(oldmsg, sizeof (oldmsg), "%s/%d",
+ mp->foldpath, msgnum);
+ snprintf(newmsg, sizeof (newmsg), "%s/%d",
+ mp->foldpath, hole);
ext_hook("ref-hook", oldmsg, newmsg);
/* move the message file */
- if (rename (oldmsg, newmsg) == -1) {
- advise (newmsg, "unable to rename %s to", oldmsg);
+ if (rename(oldmsg, newmsg) == -1) {
+ advise(newmsg, "unable to rename %s to", oldmsg);
return -1;
}
newcurrent = hole;
/* copy the attribute flags for this message */
- copy_msg_flags (mp, hole, msgnum);
+ copy_msg_flags(mp, hole, msgnum);
if (msgnum == mp->lowsel)
mp->lowsel = hole;
if (msgnum == mp->hghsel)
mp->hghsel = hole;
- /* mark that sequence information has been modified */
+ /*
+ ** mark that sequence information has
+ ** been modified
+ */
mp->msgflags |= SEQMOD;
}
hole++;
/* update the "cur" sequence */
if (newcurrent != 0)
- seq_setcur (mp, newcurrent);
+ seq_setcur(mp, newcurrent);
return 0;
}