PR_FREEIF(mdd->mailcharset);
mime_parse_stream_abort (nsMIMESession *stream, int status ){  struct mime_draft_data *mdd = (struct mime_draft_data *) stream->data_object;    NS_ASSERTION (mdd, "null mime draft data");  if (!mdd)     return;    if (mdd->obj)   {    int status=0;    if ( !mdd->obj->closed_p )      status = mdd->obj->clazz->parse_eof ( mdd->obj, PR_TRUE );    if ( !mdd->obj->parsed_p )      mdd->obj->clazz->parse_end( mdd->obj, PR_TRUE );        NS_ASSERTION ( mdd->options == mdd->obj->options, "draft display options not same as mime obj" );    mime_free (mdd->obj);    mdd->obj = 0;    if (mdd->options)     {      delete mdd->options;      mdd->options = 0;    }    if (mdd->stream)     {      mdd->stream->abort ((nsMIMESession *)mdd->stream->data_object, status);      PR_Free( mdd->stream );      mdd->stream = 0;    }  }  if ( mdd->headers )    MimeHeaders_free (mdd->headers);  if (mdd->attachments)    mime_free_attachments( mdd->attachments, mdd->attachments_count );  PR_Free (mdd);}