Exemplo n.º 1
0
static void test10()
{
	struct imap_refmsgtable *mt=rfc822_threadalloc();

	rfc822_threadmsg(mt, "<message1>", NULL,
			 "subject 1",
			 "Thu, 20 Jun 2000 14:41:58 -0700", 1);

	rfc822_threadmsg(mt, "<message4>", "<message1>",
			 "subject 2",
			 "Thu, 21 Jun 2000 14:41:58 -0700", 6);

	rfc822_threadmsg(mt, "<message1>", NULL,
			 "subject 2",
			 "Thu, 21 Jun 2000 14:41:58 -0700", 5);

	rfc822_threadmsg(mt, "<message4>", "<message1>",
			 "subject 2",
			 "Thu, 21 Jun 2000 14:41:58 -0700", 6);

	rfc822_threadprune(mt);
	rfc822_threadsortsubj(rfc822_threadgetroot(mt));
	rfc822_threadgathersubj(mt, rfc822_threadgetroot(mt));
	rfc822_threadmergesubj(mt, rfc822_threadgetroot(mt));
	rfc822_threadsortbydate(mt);
	prpc(mt);
	rfc822_threadfree(mt);
}
Exemplo n.º 2
0
struct imap_refmsg *rfc822_thread(struct imap_refmsgtable *mt)
{
	if (!mt->rootptr)
	{
		rfc822_threadprune(mt);
		if ((mt->rootptr=rfc822_threadgetroot(mt)) == 0)
			return (0);
		if (rfc822_threadsortsubj(mt, mt->rootptr) ||
		    rfc822_threadmergesubj(mt, mt->rootptr) ||
		    rfc822_threadsortbydate(mt))
		{
			mt->rootptr=0;
			return (0);
		}
	}

	return (mt->rootptr);
}
Exemplo n.º 3
0
static void test7()
{
	struct imap_refmsgtable *mt=rfc822_threadalloc();

	rfc822_threadmsg(mt, "<message1>", "<message1-dummy>",
			 "subject 1",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 1);

	rfc822_threadmsg(mt, "<message2>", "<message2-dummy>",
			 "subject 1",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 1);
	rfc822_threadprune(mt);
	rfc822_threadsortsubj(rfc822_threadgetroot(mt));
	rfc822_threadgathersubj(mt, rfc822_threadgetroot(mt));
	prpc(mt);
	prsubj(mt);
	rfc822_threadmergesubj(mt, rfc822_threadgetroot(mt));
	prpc(mt);
	rfc822_threadfree(mt);
}
Exemplo n.º 4
0
static void test6()
{
	struct imap_refmsgtable *mt=rfc822_threadalloc();

	rfc822_threadmsg(mt, "<message1>", NULL,
			 "subject 1",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 1);

	rfc822_threadmsg(mt, "<message10>", NULL,
			 "subject 2",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 2);

	rfc822_threadmsg(mt, "<message3>", "<message2>",
			 "subject 1",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 3);

	rfc822_threadmsg(mt, "<message11>", NULL,
			 "Re: subject 4",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 4);

	rfc822_threadmsg(mt, "<message12>", NULL,
			 "subject 4",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 5);

	rfc822_threadmsg(mt, "<message13>", NULL,
			 "subject 5",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 6);

	rfc822_threadmsg(mt, "<message14>", NULL,
			 "re: subject 5",
			 "Thu, 29 Jun 2000 14:41:58 -0700", 7);

	rfc822_threadprune(mt);
	rfc822_threadsortsubj(rfc822_threadgetroot(mt));
	rfc822_threadgathersubj(mt, rfc822_threadgetroot(mt));
	prpc(mt);
	prsubj(mt);
	rfc822_threadfree(mt);
}
Exemplo n.º 5
0
static void test9()
{
	struct imap_refmsgtable *mt=rfc822_threadalloc();

	rfc822_threadmsg(mt, "<message1>", NULL,
			 "subject 1",
			 "Thu, 20 Jun 2000 14:41:55 -0700", 1);

	rfc822_threadmsg(mt, "<message2>", NULL,
			 "subject 1",
			 "Thu, 19 Jun 2000 14:41:51 -0700", 2);

	rfc822_threadmsg(mt, "<message3>", NULL,
			 "subject 1",
			 "Thu, 21 Jun 2000 14:41:56 -0700", 3);

	rfc822_threadmsg(mt, "<message4>", "<message2>",
			 "subject 2",
			 "Thu, 21 Jun 2000 14:41:54 -0700", 6);

	rfc822_threadmsg(mt, "<message5>", "<message2>",
			 "subject 2",
			 "Thu, 21 Jun 2000 14:41:53 -0700", 5);

	rfc822_threadmsg(mt, "<message6>", "<message2>",
			 "subject 2",
			 "Thu, 20 Jun 2000 14:41:52 -0700", 4);


	rfc822_threadprune(mt);
	rfc822_threadsortsubj(rfc822_threadgetroot(mt));
	rfc822_threadgathersubj(mt, rfc822_threadgetroot(mt));
	rfc822_threadmergesubj(mt, rfc822_threadgetroot(mt));
	rfc822_threadsortbydate(mt);
	prpc(mt);
	rfc822_threadfree(mt);
}
Exemplo n.º 6
0
static void test8()
{
	struct imap_refmsgtable *mt=rfc822_threadalloc();

	rfc822_threadmsg(mt, "<message4>", NULL,
			 "subject 2",
			 "Thu, 29 Jun 2000 14:41:51 -0700", 1);

	rfc822_threadmsg(mt, "<message2>", NULL,
			 "subject 1",
			 "Thu, 29 Jun 2000 14:41:52 -0700", 1);

	rfc822_threadmsg(mt, "<message1>", "<message1-dummy>",
			 "subject 1",
			 "Thu, 29 Jun 2000 14:41:53 -0700", 1);

	rfc822_threadmsg(mt, "<message3>", NULL,
			 "Re: subject 2",
			 "Thu, 29 Jun 2000 14:41:54 -0700", 1);

	rfc822_threadmsg(mt, "<message10>", NULL,
			 "subject 10",
			 "Thu, 29 Jun 2000 14:41:55 -0700", 1);

	rfc822_threadmsg(mt, "<message11>", NULL,
			 "subject 10",
			 "Thu, 29 Jun 2000 14:41:56 -0700", 1);

	rfc822_threadprune(mt);
	rfc822_threadsortsubj(rfc822_threadgetroot(mt));
	rfc822_threadgathersubj(mt, rfc822_threadgetroot(mt));
	prpc(mt);
	prsubj(mt);
	rfc822_threadmergesubj(mt, rfc822_threadgetroot(mt));
	prpc(mt);
	rfc822_threadfree(mt);
}