diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2002-04-05 08:08:23 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2002-04-05 08:08:23 +0800 |
commit | 49e82f8b9fb67aba12f536c6ea29a640b7a10104 (patch) | |
tree | 74f0a25c023551fa3839ee2ed231536bd4ef9d77 /camel/camel-folder-summary.c | |
parent | bee1faf0a3ad4d71b76a831466b955bdde00e95d (diff) | |
download | gsoc2013-evolution-49e82f8b9fb67aba12f536c6ea29a640b7a10104.tar.gz gsoc2013-evolution-49e82f8b9fb67aba12f536c6ea29a640b7a10104.tar.zst gsoc2013-evolution-49e82f8b9fb67aba12f536c6ea29a640b7a10104.zip |
Simplified since we can now decode in-reply-to without getting extra
2002-04-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.
* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).
svn path=/trunk/; revision=16361
Diffstat (limited to 'camel/camel-folder-summary.c')
-rw-r--r-- | camel/camel-folder-summary.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c index 6aa37010a6..6dd0cddc20 100644 --- a/camel/camel-folder-summary.c +++ b/camel/camel-folder-summary.c @@ -1588,26 +1588,9 @@ message_info_new(CamelFolderSummary *s, struct _header_raw *h) /* decode our references and in-reply-to headers */ refs = header_references_decode (header_raw_find (&h, "references", NULL)); - irt = header_references_decode (header_raw_find (&h, "in-reply-to", NULL)); + irt = header_references_inreplyto_decode (header_raw_find (&h, "in-reply-to", NULL)); if (refs || irt) { if (irt) { - struct _header_references *n, *r = irt; - - /* If there are multiple things in In-Reply-To that look like Message-IDs, - only use the first one of them: odds are that the later ones are actually - email addresses, not IDs. */ - - /* since header_references_decode() returns the list in reverse order, - free all but the last In-Reply-To message-id */ - while (r->next) { - n = r->next; - g_free (r->id); - g_free (r); - r = n; - } - - irt = r; - /* The References field is populated from the ``References'' and/or ``In-Reply-To'' headers. If both headers exist, take the first thing in the In-Reply-To header that looks like a Message-ID, and append it to the References header. */ @@ -1623,12 +1606,9 @@ message_info_new(CamelFolderSummary *s, struct _header_raw *h) count = 0; scan = refs; while (scan) { - /* FIXME: the id might be NULL because of a small bug in camel-mime-utils */ - if (scan->id) { - md5_get_digest(scan->id, strlen(scan->id), digest); - memcpy(mi->references->references[count].id.hash, digest, sizeof(mi->message_id.id.hash)); - count++; - } + md5_get_digest(scan->id, strlen(scan->id), digest); + memcpy(mi->references->references[count].id.hash, digest, sizeof(mi->message_id.id.hash)); + count++; scan = scan->next; } mi->references->size = count; |