ooops! I forgot the brackets in the last commit. d'oh!
[claws.git] / src / procmime.c
index 79dc7c3cec198be91f2e2b75f8d91b59be90a5eb..dfc765b0e7fa0ce4e3ce1cf9007333a30f76437c 100644 (file)
@@ -1150,12 +1150,11 @@ static GHashTable *procmime_get_mime_type_table(void)
 
                exts = g_strsplit(mime_type->extension, " ", 16);
                for (i = 0; exts[i] != NULL; i++) {
-                       /* use previously dup'd key on overwriting */
-                       if (g_hash_table_lookup(table, exts[i]))
-                               key = exts[i];
-                       else
+                       /* Don't overwrite previously inserted extension */
+                       if (!g_hash_table_lookup(table, exts[i])) {
                                key = g_strdup(exts[i]);
-                       g_hash_table_insert(table, key, mime_type);
+                               g_hash_table_insert(table, key, mime_type);
+                       }
                }
                g_strfreev(exts);
        }
@@ -2016,6 +2015,7 @@ static int procmime_parse_mimepart(MimeInfo *parent,
        mimeinfo->length = length;
 
        if (content_type != NULL) {
+               remove_space(content_type);
                procmime_parse_content_type(content_type, mimeinfo);
        } else {
                mimeinfo->type = MIMETYPE_TEXT;
@@ -2030,6 +2030,7 @@ static int procmime_parse_mimepart(MimeInfo *parent,
        }
 
        if (content_encoding != NULL) {
+               remove_space(content_encoding);
                procmime_parse_content_encoding(content_encoding, mimeinfo);
        } else {
                mimeinfo->encoding_type = ENC_UNKNOWN;
@@ -2050,9 +2051,10 @@ static int procmime_parse_mimepart(MimeInfo *parent,
        else
                mimeinfo->location = NULL;
 
-       if (content_disposition != NULL) 
+       if (content_disposition != NULL) {
+               remove_space(content_disposition);
                procmime_parse_content_disposition(content_disposition, mimeinfo);
-       else
+       else
                mimeinfo->disposition = DISPOSITIONTYPE_UNKNOWN;
 
        /* Call parser for mime type */
@@ -2464,7 +2466,7 @@ static gint procmime_write_message_rfc822(MimeInfo *mimeinfo, FILE *fp)
                                break;
                        if (skip && (buf[0] == ' ' || buf[0] == '\t'))
                                continue;
-                       if (g_ascii_strncasecmp(buf, "Mime-Version:", 13) == 0 ||
+                       if (g_ascii_strncasecmp(buf, "MIME-Version:", 13) == 0 ||
                            g_ascii_strncasecmp(buf, "Content-Type:", 13) == 0 ||
                            g_ascii_strncasecmp(buf, "Content-Transfer-Encoding:", 26) == 0 ||
                            g_ascii_strncasecmp(buf, "Content-Description:", 20) == 0 ||
@@ -2502,7 +2504,7 @@ static gint procmime_write_message_rfc822(MimeInfo *mimeinfo, FILE *fp)
                return -1;
 
        child = (MimeInfo *) childnode->data;
-       if (fprintf(fp, "Mime-Version: 1.0\n") < 0) {
+       if (fprintf(fp, "MIME-Version: 1.0\n") < 0) {
                g_warning("failed to write mime version");
                return -1;
        }