- if (nl && buf[0] != ' ' && buf[0] != '\t')
- {
- ignore = 1;
- if (!from && mutt_strncmp ("From ", buf, 5) == 0)
- {
- if ((flags & CH_FROM) == 0)
- continue;
- from = 1;
- }
- else if (flags & (CH_NOQFROM) &&
- ascii_strncasecmp (">From ", buf, 6) == 0)
- continue;
-
- else if (buf[0] == '\n' || (buf[0] == '\r' && buf[1] == '\n'))
- break; /* end of header */
-
- if ((flags & (CH_UPDATE | CH_XMIT | CH_NOSTATUS)) &&
- (ascii_strncasecmp ("Status:", buf, 7) == 0 ||
- ascii_strncasecmp ("X-Status:", buf, 9) == 0))
- continue;
- if ((flags & (CH_UPDATE_LEN | CH_XMIT | CH_NOLEN)) &&
- (ascii_strncasecmp ("Content-Length:", buf, 15) == 0 ||
- ascii_strncasecmp ("Lines:", buf, 6) == 0))
- continue;
- if ((flags & CH_UPDATE_REFS) &&
- ascii_strncasecmp ("References:", buf, 11) == 0)
- continue;
- if ((flags & CH_UPDATE_IRT) &&
- ascii_strncasecmp ("In-Reply-To:", buf, 12) == 0)
- continue;
- ignore = 0;
+ if (eol && buf[0] != ' ' && buf[0] != '\t') {
+ ignore = 1;
+ if (!from && m_strncmp("From ", buf, 5) == 0) {
+ if ((flags & CH_FROM) == 0)
+ continue;
+ from = 1;
+ }
+ else if (flags & (CH_NOQFROM) &&
+ ascii_strncasecmp (">From ", buf, 6) == 0)
+ continue;
+
+ else if (buf[0] == '\n' || (buf[0] == '\r' && buf[1] == '\n'))
+ break; /* end of header */
+
+ if ((flags & (CH_UPDATE | CH_XMIT | CH_NOSTATUS)) &&
+ (ascii_strncasecmp ("Status:", buf, 7) == 0 ||
+ ascii_strncasecmp ("X-Status:", buf, 9) == 0))
+ continue;
+ if ((flags & (CH_UPDATE_LEN | CH_XMIT | CH_NOLEN)) &&
+ (ascii_strncasecmp ("Content-Length:", buf, 15) == 0 ||
+ ascii_strncasecmp ("Lines:", buf, 6) == 0))
+ continue;
+ if ((flags & CH_UPDATE_REFS) &&
+ ascii_strncasecmp ("References:", buf, 11) == 0)
+ continue;
+ if ((flags & CH_UPDATE_IRT) &&
+ ascii_strncasecmp ("In-Reply-To:", buf, 12) == 0)
+ continue;
+ ignore = 0;