2012-05-11 [colin] 3.8.0cvs40
[claws.git] / src / common / utils.c
index 93907ea51227210e1e57e961640751787e33e8ea..3b82ed01ff7c1aaea29bd9c62d909853e73d1f1a 100644 (file)
@@ -3839,17 +3839,12 @@ gchar *generate_msgid(gchar *buf, gint len, gchar *user_addr)
        t = time(NULL);
        lt = localtime_r(&t, &buft);
 
-       if (strcmp(buf, "") == 0) {
-               if (user_addr != NULL)
-                       addr = g_strconcat(".", user_addr, "@", get_domain_name(), NULL);
-               else
-                       addr = g_strconcat("@", get_domain_name(), NULL);
-       } else {
-               if (user_addr != NULL)
-                       addr = g_strconcat(".", user_addr, "@", buf, NULL);
-               else
-                       addr = g_strconcat("@", buf, NULL);
-       }
+       if (user_addr != NULL)
+             addr = g_strdup_printf(".%s", user_addr);
+       else if (strlen(buf) != 0)
+             addr = g_strdup_printf("@%s", buf);
+       else
+             addr = g_strdup_printf("@%s", get_domain_name());
 
        /* Replace all @ but the last one in addr, with underscores.
         * RFC 2822 States that msg-id syntax only allows one @.
@@ -4849,9 +4844,11 @@ gboolean file_is_email (const gchar *filename)
               && fgets(buffer, sizeof (buffer), fp) > 0) {
                if (!strncmp(buffer, "From:", strlen("From:")))
                        score++;
-               if (!strncmp(buffer, "To:", strlen("To:")))
+               else if (!strncmp(buffer, "Date:", strlen("Date:")))
+                       score++;
+               else if (!strncmp(buffer, "Message-ID:", strlen("Message-ID:")))
                        score++;
-               if (!strncmp(buffer, "Subject:", strlen("Subject:")))
+               else if (!strncmp(buffer, "Subject:", strlen("Subject:")))
                        score++;
                i++;
        }