[SVN] r705 - /branches/cvsmerge/cyrus-cvs/imap/index.c

debian at incase.de debian at incase.de
Tue Feb 27 04:46:21 CET 2007


Author: sven
Date: Tue Feb 27 04:46:20 2007
New Revision: 705

URL: https://mail.incase.de/viewcvs?rev=705&root=cyrus22&view=rev
Log:
when SORTing by date, fallback to internaldate if the Date header is invalid

Modified:
    branches/cvsmerge/cyrus-cvs/imap/index.c

Modified: branches/cvsmerge/cyrus-cvs/imap/index.c
URL: https://mail.incase.de/viewcvs/branches/cvsmerge/cyrus-cvs/imap/index.c?rev=705&root=cyrus22&r1=704&r2=705&view=diff
==============================================================================
--- branches/cvsmerge/cyrus-cvs/imap/index.c (original)
+++ branches/cvsmerge/cyrus-cvs/imap/index.c Tue Feb 27 04:46:20 2007
@@ -41,7 +41,7 @@
  *
  */
 /*
- * $Id: index.c,v 1.218.2.1 2006/12/19 18:57:48 murch Exp $
+ * $Id: index.c,v 1.218.2.2 2006/12/19 19:32:59 murch Exp $
  */
 #include <config.h>
 
@@ -3781,10 +3781,12 @@
 	case SORT_CC:
 	    ret = strcmp(md1->cc, md2->cc);
 	    break;
-	case SORT_DATE:
-	    ret = (md1->date && md2->date) ?
-		numcmp(md1->date, md2->date) : numcmp(md1->msgno, md2->msgno);
+	case SORT_DATE: {
+	    time_t d1 = md1->date ? md1->date : INTERNALDATE(md1->msgno);
+	    time_t d2 = md2->date ? md2->date : INTERNALDATE(md2->msgno);
+	    ret = numcmp(d1, d2);
 	    break;
+	}
 	case SORT_FROM:
 	    ret = strcmp(md1->from, md2->from);
 	    break;




More information about the Pkg-Cyrus-imapd-Debian-devel mailing list