TIP: Click on subject to list as thread! ANSI
echo: synchronet
to: deon
from: Digital Man
date: 2022-05-08 19:37:00
subject: MsgBase first_msg propert

  Re: MsgBase first_msg property.
  By: deon to Digital Man on Mon May 09 2022 11:42 am

 >   Re: MsgBase first_msg property.
 >   By: Digital Man to deon on Sun May 08 2022 05:17 pm
 >
 >  >  >  > I've added a proper caching of the last-read 'first_msg' value
 >  >  >  > (caching it in the object's private data). I'll commit that now.
 >  >  >  > Give it a try and let me know if it does what you were hoping for.
 >
 >  >  > Thanks, I was going for what you were doing but couldnt figure out how
 >  >  > first_msg would default to zero if the attribute was read and the
 >  >  > msgbase hadnt been opened yet. How are you getting that?
 >
 >  > This line zeroes-out the index structure (where the first message number
 >  > is taken):
 >  >         memset(&idx,0,sizeof(idx));
 >
 >  > If the call to smb_getfirstidx() fails, then the idx is just left as is
 >  > (all zeroed-out).
 >
 >
 > Thanks, yes I saw that. But it's only called if the msgbase is opened.
 >
 > What if
 >
 > x = new MsgBase(code);
 > JSON.stringify(x);
 >
 > It still shows first_msg is zero (as is last_msg) - which I know is what it
 > should be - I couldnt follow how that was achieved for "first_msg" (I see
 > how it is done for the other attributes). Or was that pure luck, and it
 > could potentially be anything?

No, not luck. In js_msgbase_constructor(), the private_t (which contains the cached first_msg value) that is allocated and associated with the object is zeroed:

        memset(p,0,sizeof(private_t));

Today, I would write that line:

        memset(p, 0, sizeof(*p));

But, same result.

 > It doesnt impact what I'm doing, just learning c++ code, one idea at a time
 > :)

No problem.
-- 
                                            digital man (rob)

Sling Blade quote #6:
Karl: he should've had a chance to grow up. He would had fun some time.
Norco, CA WX: 59.8øF, 71.0% humidity, 10 mph SSE wind, 0.00 inches rain/24hrs
--- SBBSecho 3.15-Linux
                                   
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)

SOURCE: echomail via QWK@pharcyde.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.