Some mailbox-creation tools erroneously append a blank line to a file
before appending a UNIXv7-format mail message, resulting in mailboxes
that are intended to be valid "mbox" folders but are not. Notably old
versions of Mailman do this, making archive files that cannot be read by
mutt.
This patch causes mutt to skip leading NLs and CRs when detecting magic.
else if ((f = fopen (path, "r")) != NULL)
{
struct utimbuf times;
+ int ch = 0;
+
+ /* Some mailbox creation tools erroneously append a blank line to
+ * a file before appending a mail message. This allows mutt to
+ * detect magic for and thus open those files. */
+ while ((ch = fgetc(f)) && (ch == '\n' || ch == '\r'));
+ if (!feof(f) && ch)
+ ungetc(ch, f);
fgets (tmp, sizeof (tmp), f);
if (mutt_strncmp ("From ", tmp, 5) == 0)