Reformated comments and long lines
[mmh] / uip / sortm.c
index 4b63bb6..7d5a35c 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * sortm.c -- sort messages in a folder by date/time
- *
- * 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.
- */
+** sortm.c -- sort messages in a folder by date/time
+**
+** 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>
 #include <h/tws.h>
@@ -52,8 +52,8 @@ int verbose;
 typedef int (*qsort_comp) (const void *, const void *);
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static int read_hdrs (struct msgs *, char *);
 static int get_fields (char *, int, struct smsg *);
 static int dsort (struct smsg **, struct smsg **);
@@ -87,8 +87,8 @@ main (int argc, char **argv)
        argp = arguments;
 
        /*
-        * Parse arguments
-        */
+       ** Parse arguments
+       */
        while ((cp = *argp++)) {
                if (*cp == '-') {
                        switch (smatch (++cp, switches)) {
@@ -99,8 +99,7 @@ main (int argc, char **argv)
                                adios (NULL, "-%s unknown", cp);
 
                        case HELPSW:
-                               snprintf(buf, sizeof(buf), "%s [+folder] [msgs] [switches]",
-                                               invo_name);
+                               snprintf(buf, sizeof(buf), "%s [+folder] [msgs] [switches]", invo_name);
                                print_help (buf, switches, 1);
                                done (1);
                        case VERSIONSW:
@@ -111,14 +110,16 @@ main (int argc, char **argv)
                                if (datesw)
                                        adios (NULL, "only one date field at a time");
                                if (!(datesw = *argp++) || *datesw == '-')
-                                       adios (NULL, "missing argument to %s", argp[-2]);
+                                       adios (NULL, "missing argument to %s",
+                                                       argp[-2]);
                                continue;
 
                        case TEXTSW:
                                if (subjsort)
                                        adios (NULL, "only one text field at a time");
                                if (!(subjsort = *argp++) || *subjsort == '-')
-                                       adios (NULL, "missing argument to %s", argp[-2]);
+                                       adios (NULL, "missing argument to %s",
+                                                       argp[-2]);
                                continue;
 
                        case SUBJSW:
@@ -160,7 +161,7 @@ main (int argc, char **argv)
                        else
                                folder = pluspath (cp);
                } else
-                               app_msgarg(&msgs, cp);
+                       app_msgarg(&msgs, cp);
        }
 
        if (!context_find ("path"))
@@ -194,8 +195,8 @@ main (int argc, char **argv)
                adios (NULL, "no messages to sort");
 
        /*
-        * sort a list of pointers to our "messages to be sorted".
-        */
+       ** sort a list of pointers to our "messages to be sorted".
+       */
        dlist = (struct smsg **) mh_xmalloc ((nmsgs+1) * sizeof(*dlist));
        for (i = 0; i < nmsgs; i++)
                dlist[i] = &smsgs[i];
@@ -215,33 +216,36 @@ main (int argc, char **argv)
                        (qsort_comp) (submajor && subjsort ? txtsort : dsort));
 
        /*
-        * if we're sorting on subject, we need another list
-        * in subject order, then a merge pass to collate the
-        * two sorts.
-        */
+       ** if we're sorting on subject, we need another list
+       ** in subject order, then a merge pass to collate the
+       ** two sorts.
+       */
        if (!submajor && subjsort) {  /* already date sorted */
                struct smsg **slist, **flist;
                register struct smsg ***il, **fp, **dp;
 
-               slist = (struct smsg **) mh_xmalloc ((nmsgs+1) * sizeof(*slist));
+               slist = (struct smsg **)
+                               mh_xmalloc ((nmsgs+1) * sizeof(*slist));
                memcpy((char *)slist, (char *)dlist, (nmsgs+1)*sizeof(*slist));
-               qsort((char *)slist, nmsgs, sizeof(*slist), (qsort_comp) subsort);
+               qsort((char *)slist, nmsgs, sizeof(*slist),
+                               (qsort_comp) subsort);
 
                /*
-                * make an inversion list so we can quickly find
-                * the collection of messages with the same subj
-                * given a message number.
-                */
+               ** make an inversion list so we can quickly find
+               ** the collection of messages with the same subj
+               ** given a message number.
+               */
                il = (struct smsg ***) calloc (mp->hghsel+1, sizeof(*il));
                if (! il)
                        adios (NULL, "couldn't allocate msg list");
                for (i = 0; i < nmsgs; i++)
                        il[slist[i]->s_msg] = &slist[i];
                /*
-                * make up the final list, chronological but with
-                * all the same subjects grouped together.
-                */
-               flist = (struct smsg **) mh_xmalloc ((nmsgs+1) * sizeof(*flist));
+               ** make up the final list, chronological but with
+               ** all the same subjects grouped together.
+               */
+               flist = (struct smsg **)
+                               mh_xmalloc ((nmsgs+1) * sizeof(*flist));
                fp = flist;
                for (dp = dlist; *dp;) {
                        register struct smsg **s = il[(*dp++)->s_msg];
@@ -252,15 +256,12 @@ main (int argc, char **argv)
 
                        *fp++ = *s++;
                        /*
-                        * take the next message(s) if there is one,
-                        * its subject isn't null and its subject
-                        * is the same as this one and it's not too
-                        * far away in time.
-                        */
-                       while (*s && (*s)->s_subj[0] &&
-                                  strcmp((*s)->s_subj, s[-1]->s_subj) == 0 &&
-                                  (datelimit == 0 ||
-                                  (*s)->s_clock - s[-1]->s_clock <= datelimit)) {
+                       ** take the next message(s) if there is one,
+                       ** its subject isn't null and its subject
+                       ** is the same as this one and it's not too
+                       ** far away in time.
+                       */
+                       while (*s && (*s)->s_subj[0] && strcmp((*s)->s_subj, s[-1]->s_subj) == 0 && (datelimit == 0 || (*s)->s_clock - s[-1]->s_clock <= datelimit)) {
                                il[(*s)->s_msg] = 0;
                                *fp++ = *s++;
                        }
@@ -272,9 +273,9 @@ main (int argc, char **argv)
        }
 
        /*
-        * At this point, dlist is a sorted array of pointers to smsg
-        * structures, each of which contains a message number.
-        */
+       ** At this point, dlist is a sorted array of pointers to smsg
+       ** structures, each of which contains a message number.
+       */
 
        rename_msgs (mp, dlist);
 
@@ -316,9 +317,9 @@ read_hdrs (struct msgs *mp, char *datesw)
 
 
 /*
- * Parse the message and get the data or subject field,
- * if needed.
- */
+** Parse the message and get the data or subject field,
+** if needed.
+*/
 
 static int
 get_fields (char *datesw, int msg, struct smsg *smsg)
@@ -343,15 +344,17 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
                        if (!mh_strcasecmp (nam, datesw)) {
                                datecomp = add (buf, datecomp);
                                while (state == FLDPLUS) {
-                                       state = m_getfld (state, nam, buf, sizeof(buf), in);
+                                       state = m_getfld (state, nam, buf,
+                                                       sizeof(buf), in);
                                        datecomp = add (buf, datecomp);
                                }
                                if (!subjsort || subjcomp)
                                        break;
-                       } else if (subjsort && !mh_strcasecmp (nam, subjsort)) {
+                       } else if (subjsort && !mh_strcasecmp(nam, subjsort)) {
                                subjcomp = add (buf, subjcomp);
                                while (state == FLDPLUS) {
-                                       state = m_getfld (state, nam, buf, sizeof(buf), in);
+                                       state = m_getfld (state, nam, buf,
+                                                       sizeof(buf), in);
                                        subjcomp = add (buf, subjcomp);
                                }
                                if (datecomp)
@@ -359,7 +362,8 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
                        } else {
                                /* just flush this guy */
                                while (state == FLDPLUS)
-                                       state = m_getfld (state, nam, buf, sizeof(buf), in);
+                                       state = m_getfld (state, nam, buf,
+                                                       sizeof(buf), in);
                        }
                        continue;
 
@@ -371,8 +375,7 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
                case LENERR:
                case FMTERR:
                        if (state == LENERR || state == FMTERR)
-                               admonish (NULL, "format error in message %d (header #%d)",
-                                         msg, compnum);
+                               admonish (NULL, "format error in message %d (header #%d)", msg, compnum);
                        if (datecomp)
                                free (datecomp);
                        if (subjcomp)
@@ -387,13 +390,14 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
        }
 
        /*
-        * If no date component, then use the modification
-        * time of the file as its date
-        */
+       ** If no date component, then use the modification
+       ** time of the file as its date
+       */
        if (!datecomp || (tw = dparsetime (datecomp)) == NULL) {
                struct stat st;
 
-               admonish (NULL, "can't parse %s field in message %d", datesw, msg);
+               admonish (NULL, "can't parse %s field in message %d",
+                               datesw, msg);
                fstat (fileno (in), &st);
                smsg->s_clock = st.st_mtime;
        } else {
@@ -403,10 +407,10 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
        if (subjsort) {
                if (subjcomp) {
                        /*
-                        * try to make the subject "canonical": delete
-                        * leading "re:", everything but letters & smash
-                        * letters to lower case.
-                        */
+                       ** try to make the subject "canonical": delete
+                       ** leading "re:", everything but letters & smash
+                       ** letters to lower case.
+                       */
                        register char  *cp, *cp2;
                        register unsigned char c;
 
@@ -430,8 +434,7 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
                        }
 
                        *cp2 = '\0';
-               }
-               else
+               } else
                        subjcomp = "";
 
                smsg->s_subj = subjcomp;
@@ -444,8 +447,8 @@ get_fields (char *datesw, int msg, struct smsg *smsg)
 }
 
 /*
- * sort on dates.
- */
+** sort on dates.
+*/
 static int
 dsort (struct smsg **a, struct smsg **b)
 {
@@ -460,8 +463,8 @@ dsort (struct smsg **a, struct smsg **b)
 }
 
 /*
- * sort on subjects.
- */
+** sort on subjects.
+*/
 static int
 subsort (struct smsg **a, struct smsg **b)
 {
@@ -503,8 +506,9 @@ rename_chain (struct msgs *mp, struct smsg **mlist, int msg, int endmsg)
                if (verbose)
                        printf ("message %d becomes message %d\n", old, new);
 
-               (void)snprintf(oldname, sizeof (oldname), "%s/%d", mp->foldpath, old);
-               (void)snprintf(newbuf, sizeof (newbuf), "%s/%d", mp->foldpath, new);
+               snprintf(oldname, sizeof (oldname), "%s/%d",
+                               mp->foldpath, old);
+               snprintf(newbuf, sizeof (newbuf), "%s/%d", mp->foldpath, new);
                ext_hook("ref-hook", oldname, newbuf);
 
                if (rename (oldname, newname) == NOTOK)
@@ -543,25 +547,27 @@ rename_msgs (struct msgs *mp, struct smsg **mlist)
                        continue;   /* this one doesn't move */
 
                /*
-                * the guy that was msg j is about to become msg i.
-                * rename 'j' to make a hole, then recursively rename
-                * guys to fill up the hole.
-                */
+               ** the guy that was msg j is about to become msg i.
+               ** rename 'j' to make a hole, then recursively rename
+               ** guys to fill up the hole.
+               */
                old = smsgs[j].s_msg;
                new = smsgs[i].s_msg;
                strncpy (f1, m_name (old), sizeof(f1));
 
                if (verbose)
-                       printf ("renaming message chain from %d to %d\n", old, new);
+                       printf ("renaming message chain from %d to %d\n",
+                                       old, new);
 
                /*
-                * 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.
-                */
+               ** 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/%d", mp->foldpath, mp->hghmsg + 1);
+               (void)snprintf(newbuf, sizeof (newbuf), "%s/%d",
+                               mp->foldpath, mp->hghmsg + 1);
                ext_hook("ref-hook", f1, newbuf);
 
                if (rename (f1, tmpfil) == NOTOK)
@@ -572,9 +578,9 @@ rename_msgs (struct msgs *mp, struct smsg **mlist)
                rename_chain (mp, mlist, j, i);
 
                /*
-                * Run the external hook to refile the temorary message number
-                * to the real place.
-                */
+               ** Run the external hook to refile the temorary message number
+               ** to the real place.
+               */
 
                (void)snprintf(f1, sizeof (f1), "%s/%d", mp->foldpath, new);
                ext_hook("ref-hook", newbuf, f1);