[dovecot-cvs] dovecot/src/lib-storage/index index-search.c,1.59,1.60

cras at procontrol.fi cras at procontrol.fi
Fri Jan 10 00:29:00 EET 2003


Update of /home/cvs/dovecot/src/lib-storage/index
In directory danu:/tmp/cvs-serv23056/index

Modified Files:
	index-search.c 
Log Message:
Fixes, seems to work properly now. Much faster too.



Index: index-search.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/index-search.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- index-search.c	8 Jan 2003 20:49:52 -0000	1.59
+++ index-search.c	9 Jan 2003 22:28:58 -0000	1.60
@@ -42,6 +42,7 @@
 
 	/* for threading: */
 	const char *message_id, *in_reply_to, *references;
+	time_t sent_date;
 };
 
 struct search_header_context {
@@ -539,6 +540,7 @@
 			  void *context)
 {
 	struct search_header_context *ctx = context;
+	int timezone_offset;
 
 	if (ctx->threading) {
 		struct search_index_context *ictx = ctx->index_context;
@@ -551,6 +553,16 @@
 		else if (name_len == 10 &&
 			 memcasecmp(name, "References", 10) == 0)
 			ictx->references = t_strndup(value, value_len);
+		else if (name_len == 4 && memcasecmp(name, "Date", 4) == 0) {
+			t_push();
+			if (!message_date_parse(t_strndup(value, value_len),
+						&ictx->sent_date,
+						&timezone_offset))
+				ictx->sent_date = 0;
+			else
+				ictx->sent_date -= timezone_offset*60;
+			t_pop();
+		}
 	}
 
 	if ((ctx->custom_header && name_len > 0) ||
@@ -892,7 +904,8 @@
 					mail_thread_input(thread_ctx, rec->uid,
 							  ctx.message_id,
 							  ctx.in_reply_to,
-							  ctx.references);
+							  ctx.references,
+							  ctx.sent_date);
 				} else {
 					o_stream_send(output, " ", 1);
 




More information about the dovecot-cvs mailing list