default: return; }   if (!b->parts) { b->type = TYPETEXT; safe_free ((void **) &b->subtype); b->subtype = safe_strdup ("plain");
void mutt_parse_part (FILE *fp, BODY *b){  switch (b->type)  {    case TYPEMULTIPART:      fseek (fp, b->offset, SEEK_SET);      b->parts =  mutt_parse_multipart (fp, mutt_get_parameter ("boundary", b->parameter), 					b->offset + b->length,					mutt_strcasecmp ("digest", b->subtype) == 0);      break;    case TYPEMESSAGE:      if (b->subtype)      {	fseek (fp, b->offset, SEEK_SET);	if (mutt_is_message_type(b->type, b->subtype))	  b->parts = mutt_parse_messageRFC822 (fp, b);	else if (mutt_strcasecmp (b->subtype, "external-body") == 0)	  b->parts = mutt_read_mime_header (fp, 0);      }      break;  }}