From 51eca346e871186c9c5d4a7ed69dfbff0df98266 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Wed, 8 Dec 2004 04:51:42 +0000
Subject: [PATCH] Add utility function to get an offset from a message
 number... Could we get an offset attribute added to the index or header
 objects? <hint> <hint>

---
 web/lib/msgslib.ssjs | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/web/lib/msgslib.ssjs b/web/lib/msgslib.ssjs
index da9ae05656..089eecf090 100644
--- a/web/lib/msgslib.ssjs
+++ b/web/lib/msgslib.ssjs
@@ -76,20 +76,31 @@ function find_np_message(offset,next)
 {
 	/* "Next" actually means the one before this one as msgs reverses everything */
 	var step=-1;
-	var hdr=null;
 	var	idx;
+	var last_offset;
 
 	if(!next)
 		step=1;
-
-	for(last_offset=offset+step;(hdr=msgbase.get_msg_header(true,last_offset))!=null;last_offset+=step) {
-		if(hdr.attr&MSG_DELETE)
+write("offset: "+offset+" step: "+step+"<BR>");
+	for(last_offset=parseInt(offset)+step;last_offset>0 && (idx=msgbase.get_msg_index(true,last_offset))!=null;last_offset+=step) {
+write("checking: "+last_offset+"<BR>");
+		if(idx.attr&MSG_DELETE)
 			continue;
-		if(sub!=mail)
-			return(last_offset);
-		if((idx=msgbase.get_msg_index(true,last_offset))==null || idx.to!=user.number)
+		if(sub!='mail')
+			return(idx.number);
+		if(idx.to!=user.number)
+			continue;
+		return(idx.number);
+	}
+	return(undefined);
+}
+
+function get_msg_offset(number)
+{
+	for(last_offset=0; (hdr=msgbase.get_msg_header(true,last_offset)) != null;last_offset++) {
+		if((idx=msgbase.get_msg_index(true,last_offset))==null)
 			continue;
-		return(hdr.number);
+		return(idx.number);
 	}
 	return(undefined);
 }
-- 
GitLab