- state.part_count = 0;
- state.in_zone = 0;
-
- file = fopen (filename, "r");
- if (! file) {
- fprintf (stderr, "Error opening %s: %s\n", filename, strerror (errno));
- ret = NOTMUCH_STATUS_FILE_ERROR;
- goto DONE;
- }
-
- stream = g_mime_stream_file_new (file);
- g_mime_stream_file_set_owner (GMIME_STREAM_FILE (stream), FALSE);
-
- parser = g_mime_parser_new_with_stream (stream);
-
- mime_message = g_mime_parser_construct_message (parser);
-
- show_message_part (g_mime_message_get_mime_part (mime_message),
- &state,
- format,
- params,
- TRUE);
-
- DONE:
- if (mime_message)
- g_object_unref (mime_message);
+ ret = mime_node_open (NULL, message, params->cryptoctx, params->decrypt,
+ &root);
+ if (ret)
+ return ret;