aboutsummaryrefslogtreecommitdiff
path: root/src/procheader.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-03-28 10:50:42 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-03-28 10:50:42 +0000
commit78ffc1ed2c6fbf42feabfb348d746b5a36be3db8 (patch)
treea75543612f2088840dd905ddd09e94c02208a982 /src/procheader.c
parentd0c14090a0d5e74834fabd896406bfe2cd212449 (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.c9
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, '(', ')');