On the attached message, this command:

  mhshow -part 1.1 -form mhl.null

produces no output.  mhlist shows a part 1.1:

 msg part  type/subtype              size description                         
1231       multipart/mixed            276
     1     multipart/related          107
     1.1   text/plain                  29

"mhstore -part 1.1" properly stores it.  The difference in
behavior is caused by a different value for the second
argument, sP, in calls to part_ok:

  uip/mhlistsbr.c:317:  if (part_ok (p, 1) && type_ok (p, 1))
  uip/mhshowsbr.c:747:  if (part_ok (p, 0) && type_ok (p, 0)) {
  uip/mhstoresbr.c:286: if (part_ok (p, 1) && type_ok (p, 1)) {

Analogous behavior happens with -type text/plain.

If I change that 0 second argument to a 1, mhshow displays
the contents of part 1.1, as I expect.  Does anyone know why
mhshow passes 0 to part_ok and type_ok?  It prevents mhshow
from doing what I want with multipart messages but there
must be a reason.  Here's the code in part_ok that uses sP:

  if (npart == 0 || (ct->c_type == CT_MULTIPART && (sP || ct->c_subtype)))
      return 1;

Thanks,
David
MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="NextPart_001"
Content-class: urn:content-classes:message
Date: Thu, 19 May 2011 00:00:00 -0000
From: [email protected]
To: [email protected]

This is a multi-part message in MIME format.

--NextPart_001
Content-Type: multipart/related;
        type="multipart/alternative";
        boundary="NextPart_002"


--NextPart_002
Content-Type: text/plain;
        charset="utf-8"

This is the text/plain part.

--NextPart_002--

--NextPart_001--
_______________________________________________
Nmh-workers mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/nmh-workers

Reply via email to