fprintf(out, "###############################################################\n");
FPRINTF(out, "###############################################################\n");
test(FILE *in, FILE *out,	 const char *url,	 PRBool fancy_headers_p,	 PRBool html_p,	 PRBool outline_p,	 PRBool dexlate_p,	 PRBool variable_width_plaintext_p){  int status = 0;  MimeObject *obj = 0;  MimeDisplayOptions *opt = new MimeDisplayOptions;//  memset(opt, 0, sizeof(*opt));  if (dexlate_p) html_p = PR_FALSE;  opt->fancy_headers_p = fancy_headers_p;  opt->headers = MimeHeadersSome;  opt->rot13_p = PR_FALSE;  status = mime_parse_url_options(url, opt);  if (status < 0)	{	  PR_Free(opt);	  return MIME_OUT_OF_MEMORY;	}  opt->url					= url;  opt->write_html_p			= html_p;  opt->dexlate_p			= dexlate_p;  opt->output_init_fn		= test_output_init_fn;  opt->output_fn			= test_output_fn;  opt->set_html_state_fn  = test_set_html_state_fn;  opt->charset_conversion_fn= 0;  opt->rfc1522_conversion_fn= 0;  opt->reformat_date_fn		= 0;  opt->file_type_fn			= test_file_type;  opt->stream_closure		= out;  opt->image_begin			= test_image_begin;  opt->image_end			= test_image_end;  opt->make_image_html		= test_image_make_image_html;  opt->image_write_buffer	= test_image_write_buffer;  opt->variable_width_plaintext_p = variable_width_plaintext_p;  obj = mime_new ((MimeObjectClass *)&mimeMessageClass,				  (MimeHeaders *) NULL,				  MESSAGE_RFC822);  if (!obj)	{	  PR_Free(opt);	  return MIME_OUT_OF_MEMORY;	}  obj->options = opt;  status = obj->class->initialize(obj);  if (status >= 0)	status = obj->class->parse_begin(obj);  if (status < 0)	{	  PR_Free(opt);	  PR_Free(obj);	  return MIME_OUT_OF_MEMORY;	}  while (1)	{	  char buf[255];	  int size = fread(buf, sizeof(*buf), sizeof(buf), stdin);	  if (size <= 0) break;	  status = obj->class->parse_buffer(buf, size, obj);	  if (status < 0)		{		  mime_free(obj);		  PR_Free(opt);		  return status;		}	}  status = obj->class->parse_eof(obj, PR_FALSE);  if (status >= 0)	status = obj->class->parse_end(obj, PR_FALSE);  if (status < 0)	{	  mime_free(obj);	  PR_Free(opt);	  return status;	}  if (outline_p)	{	  fprintf(out, "\n\n"		  "###############################################################\n");	  obj->class->debug_print(obj, stderr, 0);	  fprintf(out,		  "###############################################################\n");	}  mime_free (obj);  PR_Free(opt);  return 0;}