/* This keeps compiler happy on calls to qsort */
typedef int (*qsort_comp) (const void *, const void *);
/* This keeps compiler happy on calls to qsort */
typedef int (*qsort_comp) (const void *, const void *);
snprintf(buf, sizeof(buf), "%s [+folder] [msgs] [switches]",
invo_name);
print_help (buf, switches, 1);
snprintf(buf, sizeof(buf), "%s [+folder] [msgs] [switches]",
invo_name);
print_help (buf, switches, 1);
if (!context_find ("path"))
free (path ("./", TFOLDER));
if (!context_find ("path"))
free (path ("./", TFOLDER));
- if (!msgs.size)
- app_msgarg(&msgs, "all");
+ if (!msgs.size) {
+ if (allmsgs) {
+ app_msgarg(&msgs, "all");
+ } else {
+ adios (NULL, "must specify messages to sort with -noall");
+ }
+ }
if ((nmsgs = read_hdrs (mp, datesw)) <= 0)
adios (NULL, "no messages to sort");
if ((nmsgs = read_hdrs (mp, datesw)) <= 0)
adios (NULL, "no messages to sort");
- printf ("sorting by %s-major %s-minor\n",
- submajor ? subjsort : datesw,
- submajor ? datesw : subjsort);
+ if (submajor)
+ printf ("sorting by %s\n", subjsort);
+ else
+ printf ("sorting by %s-major %s-minor\n", subjsort, datesw);
- switch (state = m_getfld (state, nam, buf, sizeof(buf), in)) {
+ int bufsz = sizeof buf;
+ switch (state = m_getfld (state, nam, buf, &bufsz, in)) {
if (!mh_strcasecmp (nam, datesw)) {
datecomp = add (buf, datecomp);
while (state == FLDPLUS) {
if (!mh_strcasecmp (nam, datesw)) {
datecomp = add (buf, datecomp);
while (state == FLDPLUS) {
- state = m_getfld (state, nam, buf, sizeof(buf), in);
+ bufsz = sizeof buf;
+ state = m_getfld (state, nam, buf, &bufsz, in);
datecomp = add (buf, datecomp);
}
if (!subjsort || subjcomp)
datecomp = add (buf, datecomp);
}
if (!subjsort || subjcomp)
} else if (subjsort && !mh_strcasecmp (nam, subjsort)) {
subjcomp = add (buf, subjcomp);
while (state == FLDPLUS) {
} else if (subjsort && !mh_strcasecmp (nam, subjsort)) {
subjcomp = add (buf, subjcomp);
while (state == FLDPLUS) {
- state = m_getfld (state, nam, buf, sizeof(buf), in);
+ bufsz = sizeof buf;
+ state = m_getfld (state, nam, buf, &bufsz, in);
subjcomp = add (buf, subjcomp);
}
if (datecomp)
break;
} else {
/* just flush this guy */
subjcomp = add (buf, subjcomp);
}
if (datecomp)
break;
} else {
/* just flush this guy */
- while (state == FLDPLUS)
- state = m_getfld (state, nam, buf, sizeof(buf), in);
+ while (state == FLDPLUS) {
+ bufsz = sizeof buf;
+ state = m_getfld (state, nam, buf, &bufsz, in);
+ }
admonish (NULL, "can't parse %s field in message %d", datesw, msg);
fstat (fileno (in), &st);
smsg->s_clock = st.st_mtime;
admonish (NULL, "can't parse %s field in message %d", datesw, msg);
fstat (fileno (in), &st);
smsg->s_clock = st.st_mtime;