2011-01-06 [colin] 3.7.8cvs31
[claws.git] / src / procmime.c
index b325797eaea51e8e076253a5a4f36e541a5c53ef..4b13271ff879f755d372373577c4acae7a344309 100644 (file)
@@ -654,6 +654,7 @@ gint procmime_get_part(const gchar *outfile, MimeInfo *mimeinfo)
        while ((restlength > 0) && ((readlength = fread(buf, 1, restlength > BUFFSIZE ? BUFFSIZE : restlength, infp)) > 0)) {
                if (fwrite(buf, 1, readlength, outfp) != readlength) {
                        saved_errno = errno;
+                       fclose(infp);
                        fclose(outfp);
                        return -(saved_errno);
                }
@@ -1385,32 +1386,32 @@ static void procmime_parse_message_rfc822(MimeInfo *mimeinfo, gboolean short_sca
        fseek(fp, mimeinfo->offset, SEEK_SET);
        procheader_get_header_fields(fp, hentry);
        if (hentry[0].body != NULL) {
-                tmp = conv_unmime_header(hentry[0].body, NULL);
+               tmp = conv_unmime_header(hentry[0].body, NULL, FALSE);
                 g_free(hentry[0].body);
                 hentry[0].body = tmp;
         }                
        if (hentry[2].body != NULL) {
-                tmp = conv_unmime_header(hentry[2].body, NULL);
+               tmp = conv_unmime_header(hentry[2].body, NULL, FALSE);
                 g_free(hentry[2].body);
                 hentry[2].body = tmp;
         }                
        if (hentry[4].body != NULL) {
-                tmp = conv_unmime_header(hentry[4].body, NULL);
+               tmp = conv_unmime_header(hentry[4].body, NULL, FALSE);
                 g_free(hentry[4].body);
                 hentry[4].body = tmp;
         }                
        if (hentry[5].body != NULL) {
-                tmp = conv_unmime_header(hentry[5].body, NULL);
+               tmp = conv_unmime_header(hentry[5].body, NULL, FALSE);
                 g_free(hentry[5].body);
                 hentry[5].body = tmp;
         }                
        if (hentry[7].body != NULL) {
-                tmp = conv_unmime_header(hentry[7].body, NULL);
+               tmp = conv_unmime_header(hentry[7].body, NULL, FALSE);
                 g_free(hentry[7].body);
                 hentry[7].body = tmp;
         }
        if (hentry[8].body != NULL) {
-                tmp = conv_unmime_header(hentry[8].body, NULL);
+               tmp = conv_unmime_header(hentry[8].body, NULL, FALSE);
                 g_free(hentry[8].body);
                 hentry[8].body = tmp;
         }
@@ -1508,32 +1509,32 @@ bail:
 #define GET_HEADERS() {                                                \
        procheader_get_header_fields(fp, hentry);               \
         if (hentry[0].body != NULL) {                          \
-                tmp = conv_unmime_header(hentry[0].body, NULL);        \
+               tmp = conv_unmime_header(hentry[0].body, NULL, FALSE);  \
                 g_free(hentry[0].body);                                \
                 hentry[0].body = tmp;                          \
         }                                                      \
         if (hentry[2].body != NULL) {                          \
-                tmp = conv_unmime_header(hentry[2].body, NULL);        \
+               tmp = conv_unmime_header(hentry[2].body, NULL, FALSE);  \
                 g_free(hentry[2].body);                                \
                 hentry[2].body = tmp;                          \
         }                                                      \
         if (hentry[4].body != NULL) {                          \
-                tmp = conv_unmime_header(hentry[4].body, NULL);        \
+               tmp = conv_unmime_header(hentry[4].body, NULL, FALSE);  \
                 g_free(hentry[4].body);                                \
                 hentry[4].body = tmp;                          \
         }                                                      \
         if (hentry[5].body != NULL) {                          \
-                tmp = conv_unmime_header(hentry[5].body, NULL);        \
+               tmp = conv_unmime_header(hentry[5].body, NULL, FALSE);  \
                 g_free(hentry[5].body);                                \
                 hentry[5].body = tmp;                          \
         }                                                      \
        if (hentry[6].body != NULL) {                           \
-                tmp = conv_unmime_header(hentry[6].body, NULL);        \
+               tmp = conv_unmime_header(hentry[6].body, NULL, FALSE);  \
                 g_free(hentry[6].body);                                \
                 hentry[6].body = tmp;                          \
         }                                                      \
        if (hentry[7].body != NULL) {                           \
-                tmp = conv_unmime_header(hentry[7].body, NULL);        \
+               tmp = conv_unmime_header(hentry[7].body, NULL, FALSE);  \
                 g_free(hentry[7].body);                                \
                 hentry[7].body = tmp;                          \
         }                                                      \