From c66c7593b3b2172bc8ed717bcd3dca3e3d267a8b Mon Sep 17 00:00:00 2001
From: echicken <>
Date: Fri, 31 Aug 2012 16:57:20 +0000
Subject: [PATCH] Show only the 'max' *newest* messages. :| Removed tbHeader
 (we're not looking at header.thread_back any more.)

---
 exec/load/msgutils.js | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/exec/load/msgutils.js b/exec/load/msgutils.js
index c9a64fc16f..894dec7669 100644
--- a/exec/load/msgutils.js
+++ b/exec/load/msgutils.js
@@ -361,17 +361,19 @@ function expand_body(body, sys_misc, mode)
 	}
 */
 function getMessageThreads(sub, max) {
-	if(max === undefined)
-		max = 0;
 	var threads = { thread : {}, dates : [], order : [] };
 	var subjects = {};
 	var header;
-	var tbHeader;
 	var md5subject;
 	var msgBase = new MsgBase(sub);
 	msgBase.open();
-	var n = 0;
-	for(var m = msgBase.first_msg; m <= msgBase.last_msg; m++) {
+	if(!msgBase.is_open)
+		return false;
+	if(max === undefined || msgBase.last_msg - max < msgBase.first_msg)
+		max = msgBase.first_msg;
+	else
+		max = msgBase.last_msg - max;
+	for(var m = max; m <= msgBase.last_msg; m++) {
 		header = msgBase.get_msg_header(m);
 		if(
 			header === null
@@ -405,9 +407,6 @@ function getMessageThreads(sub, max) {
 				messages : [header]
 			}
 			subjects[md5subject] = header.thread_id;
-			n++;
-			if(max > 0 && n >= max)
-				break;
 		}
 	}
 	msgBase.close();
-- 
GitLab