v = Parse_MIME(clazz->vCardString, strlen(clazz->vCardString));
v = vCardService->Parse_MIME(clazz->vCardString, strlen(clazz->vCardString)); NS_ASSERTION(v, "parse of vCard failed");
MimeInlineTextVCard_parse_eof (MimeObject *obj, PRBool abort_p){  int status = 0;  MimeInlineTextVCardClass *clazz = ((MimeInlineTextVCardClass *) obj->clazz);    VObject *t, *v;    if (obj->closed_p) return 0;    /* Run parent method first, to flush out any buffered data. */  //    status = ((MimeObjectClass*)&MIME_SUPERCLASS)->parse_eof(obj, abort_p);  status = ((MimeObjectClass*)COM_GetmimeInlineTextClass())->parse_eof(obj, abort_p);  if (status < 0) return status;   // Don't quote vCards...  if (  (obj->options) &&     ((obj->options->format_out == nsMimeOutput::nsMimeMessageQuoting) ||    (obj->options->format_out == nsMimeOutput::nsMimeMessageBodyQuoting))    )    return 0;  if (!clazz->vCardString) return 0;    v = Parse_MIME(clazz->vCardString, strlen(clazz->vCardString));    if (clazz->vCardString) {    PR_Free ((char*) clazz->vCardString);    clazz->vCardString = NULL;  }    if (obj->output_p && obj->options && obj->options->write_html_p &&    obj->options->headers != MimeHeadersCitation) {    /* This is a fine place to write any closing HTML.  In fact, you may    want all the writing to be here, and all of the above would just    collect data into datastructures, though that isn't very    "streaming". */    t = v;    while (v && status >= 0) {      /* write out html */      status = WriteOutVCard (obj, v);      /* parse next vcard incase they're embedded */      v = nextVObjectInList(v);    }        cleanVObject(t);  }    if (status < 0)     return status;    return 0;}