+
+
+# check m_getfld() handling of excessively long header field name
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Tue, 15 Jan 2013 21:13:12 -0600
+ThisHeaderFieldNameIsWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayTooLong: OK
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-15 21:13
+!
+
+
+
+# check m_getfld() handling of header field name with whitespace
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:33:46 -0600
+A header field name with whitespace: foo
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-17 19:33 Will this be printed?
+!
+
+
+
+# check m_getfld() handling of header field name without a colon
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:34:46 -0600
+A_header_field_name_without_a_colon_..._or_is_this_the_first_line_of_the_body_question-mark
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-17 19:34 Will this be printed?
+!
+
+
+
+# check m_getfld() handling of empty field name
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:35:46 -0600
+: foo
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-17 19:35 Will this be printed?
+!
+
+
+
+
+# check m_getfld() handling of dashed body separator (as in drafts)
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:36:46 -0600
+----------
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+ $msgnum 2013-01-17 19:36
+!
+
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:37:46 -0600
+-
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+ $msgnum 2013-01-17 19:37
+!
+
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:39:46 -0600
+-----foo
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-17 19:39 Will this be printed?
+!
+
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:40:46 -0600
+-foo
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-17 19:40 Will this be printed?
+!
+
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:41:46 -0600
+--- --- ---
+Subject: Will this be printed?
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+??Format error (message $msgnum) in component 2
+ $msgnum 2013-01-17 19:41 Will this be printed?
+!
+
+
+# valid headers that might be treated as body separators but should not
+
+msgfile="`mhpath b`"
+msgnum="${msgfile##*/}"
+cat >"$msgfile" <<!
+Date: Thu, 17 Jan 2013 19:42:46 -0600
+-: strange but valid header name
+-------: also a valid header name
+-dash: nothing special if it start with a dash
+-------dash: or with many dashes
+-..|.-|...|....: could even be morse code ;-)
+sort</etc/passwd|lp&&date: ... o ar command lins *eek*
+Subject: This will be printed!
+
+Test
+
+!
+
+runandcheck "scan l" <<!
+ $msgnum 2013-01-17 19:42 This will be printed!
+!