status = (((MimeMultipartSignedClass *) obj->clazz)->crypto_signature_eof) (sig->crypto_closure, abort_p); if (status < 0) return status;
MimeMultipartSigned_parse_eof (MimeObject *obj, PRBool abort_p){  MimeMultipartSigned *sig = (MimeMultipartSigned *) obj;  int status = 0;  if (obj->closed_p) return 0;  /* Close off the signature, if we've gotten that far.   */  if (sig->state == MimeMultipartSignedSignatureHeaders ||	  sig->state == MimeMultipartSignedSignatureFirstLine ||	  sig->state == MimeMultipartSignedSignatureLine ||	  sig->state == MimeMultipartSignedEpilogue)	{#ifdef MOZ_SECURITY    HG77782#endif /* MOZ_SECURITY */	}  if (!abort_p)	{	  /* Now that we've read both the signed object and the signature (and		 have presumably verified the signature) write out a blurb, and then		 the signed object.	   */	  status = MimeMultipartSigned_emit_child(obj);	  if (status < 0) return status;	}  MimeMultipartSigned_cleanup(obj, PR_FALSE);  return ((MimeObjectClass*)&MIME_SUPERCLASS)->parse_eof(obj, abort_p);}