( cvs diff -u -r 1.22.2.4 -r 1.22.2.5 src/quote_fmt_parse.y; ) > 0.9.13cvs8.1.patchset
( cvs diff -u -r 1.5.2.8 -r 1.5.2.9 src/gtk/pluginwindow.c; ) > 0.9.13cvs8.2.patchset
( cvs diff -u -r 1.2.2.3 -r 1.2.2.4 src/gtk/colorlabel.c; ) > 0.9.13cvs9.1.patchset
+( cvs diff -u -r 1.49.2.27 -r 1.49.2.28 src/procmime.c; ) > 0.9.13cvs10.1.patchset
gchar *tmp_file = NULL;
if (mimeinfo->type == MIMETYPE_TEXT ||
- mimeinfo->type == MIMETYPE_MESSAGE) {
- tmp_file = get_tmp_file();
- if (canonicalize_file(mimeinfo->data.filename, tmp_file) < 0) {
- g_free(tmp_file);
- fclose(infp);
- }
- if ((tmp_fp = fopen(tmp_file, "rb")) == NULL) {
- FILE_OP_ERROR(tmp_file, "fopen");
- unlink(tmp_file);
- g_free(tmp_file);
+ mimeinfo->type == MIMETYPE_MESSAGE) {
+ if (mimeinfo->content == MIMECONTENT_FILE) {
+ tmp_file = get_tmp_file();
+ if (canonicalize_file(mimeinfo->data.filename, tmp_file) < 0) {
+ g_free(tmp_file);
+ fclose(infp);
+ return FALSE;
+ }
+ if ((tmp_fp = fopen(tmp_file, "rb")) == NULL) {
+ FILE_OP_ERROR(tmp_file, "fopen");
+ unlink(tmp_file);
+ g_free(tmp_file);
+ fclose(infp);
+ return FALSE;
+ }
+ } else {
+ gchar *out = canonicalize_str(mimeinfo->data.mem);
fclose(infp);
+ infp = str_open_as_stream(out);
+ g_free(out);
+ if (infp == NULL)
+ return FALSE;
}
}