- * If we have been give a valid message name, then use that.
- * Else, if we are given the "use" option, then use the
- * current message. Else, use special sequence "new".
- */
- if (!m_convert (mp, msg && *msg ? msg : use ? "cur" : "new"))
- done (1);
- seq_setprev (mp);
-
- if (mp->numsel > 1)
- adios (NULL, "only one message draft at a time!");
-
- snprintf (buffer, sizeof(buffer), "%s/%s", mp->foldpath, m_name (mp->lowsel));
- cp = buffer;
-
- seq_setcur (mp, mp->lowsel);/* set current message for folder */
- seq_save (mp); /* synchronize message sequences */
- folder_free (mp); /* free folder/message structure */
-
- return cp;
+ ** The draft message name to return is defined by `which'.
+ ** Usually it is "cur" (for the current draft) or "new"
+ ** (to start a new draft).
+ */
+ if (!m_convert(mp, which))
+ done(1);
+ seq_setprev(mp);
+
+ snprintf(buffer, sizeof(buffer), "%s/%s", mp->foldpath,
+ m_name(mp->lowsel));
+ seq_setcur(mp, mp->lowsel);
+ seq_save(mp);
+ folder_free(mp);
+
+ return buffer;