diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-03-28 10:50:42 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-03-28 10:50:42 +0000 |
commit | 78ffc1ed2c6fbf42feabfb348d746b5a36be3db8 (patch) | |
tree | a75543612f2088840dd905ddd09e94c02208a982 /src/procheader.c | |
parent | d0c14090a0d5e74834fabd896406bfe2cd212449 (diff) |
improved the thread creation.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@190 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/procheader.c')
-rw-r--r-- | src/procheader.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/procheader.c b/src/procheader.c index 442d5aea..62047aa5 100644 --- a/src/procheader.c +++ b/src/procheader.c @@ -504,7 +504,7 @@ MsgInfo *procheader_parse_stream(FILE *fp, MsgFlags flags, gboolean full) MsgInfo *msginfo; gchar buf[BUFFSIZE]; gchar *reference = NULL; - gchar *p; + gchar *p, *q; gchar *hp; HeaderEntry *hentry; gint hnum; @@ -520,6 +520,7 @@ MsgInfo *procheader_parse_stream(FILE *fp, MsgFlags flags, gboolean full) msginfo = g_new0(MsgInfo, 1); msginfo->flags = flags; + msginfo->references = NULL; msginfo->inreplyto = NULL; while ((hnum = procheader_get_one_field(buf, sizeof(buf), fp, hentry)) @@ -567,6 +568,12 @@ MsgInfo *procheader_parse_stream(FILE *fp, MsgFlags flags, gboolean full) msginfo->msgid = g_strdup(hp); break; case H_REFERENCES: + msginfo->references = + references_list_prepend(msginfo->references, + hp); + if (msginfo->references && !reference) + reference = g_strdup((gchar *)msginfo->references->data); + break; case H_IN_REPLY_TO: if (!reference) { eliminate_parenthesis(hp, '(', ')'); |