Subj : Reading the scan_ptr for the 'mail sub' To : Khelair From : Nightfox Date : Sun Mar 22 2015 08:29 am Re: Reading the scan_ptr for the 'mail sub' By: Khelair to All on Sat Mar 21 2015 10:42:31 Kh> While implementing a new mail interface for my shell, it appears that I'm Kh> not able to utilize the scan_ptr in the same way that I have been using in Kh> the message base interface that I've done... There, I was utilizing Kh> msg_area.sub[bbs.cursub_code].whatever... Here, even when I specify Kh> manually msg_area.sub['mail'].scan_ptr, I still find it undefined. Can Kh> anybody tell me if there is a different way to go about locating the Kh> current message/scan_ptr in mail or should I get ready to toss up some Kh> code snippets? I've been working on a new message reader, and I've found that the msg_area, and it seems to me that the "mail" is a special case in that the msg_area.grp, msg_ara.sub, etc. arrays don't seem to be defined for the "mail" area. Those arrays seem to be only defined for the sub-boards. So, I don't think there is a last-read pointer, etc. defined for the "mail" area. If you want to find the last read message for a user in the "mail" area, you'll need to go through all messages in the "mail" area, look for the ones written to the current logged-in user, and look at the 'attr' field in the message headers and find the last one that has the MSG_READ attribute set. For example, something like this: var msgbase = new MsgBase("mail"); if (msgbase.is_open) { var lastReadMsgIdx = 0; for (var i = 0; i < msgbase.total_msgs; ++i) { var msgHdr = msgbase.get_msg_header(true, i, true); if ((msgHdr.to_ext == user.number) && ((msgHdr.attr & MSG_READ) == MSG_READ)) lastReadMsgIdx = i; } msgbase.close(); } else console.print("Uh-oh, failed to open personal mail!\r\n\1p"); Nightfox --- þ Synchronet þ Digital Distortion BBS - digitaldistortionbbs.com .