Monday, November 08, 2010 at 12:06 AM.

system.verbs.builtins.tcp.im.builtinDrivers.aim.code.core.start_log_in

on start_log_in(adrSelf) {
	local {
		ep = tcp.im.builtinDrivers.aim.code.util.pwdenc(adrSelf);
		msgStr = ""};
	
	adrSelf^._normnick = tcp.im.builtinDrivers.aim.code.util.normalize(adrSelf^._nick);
	
	<<UNDONE  This is goign to be interesting...
	<<msg = struct.pack("!HHHH",0,1,1,len(self._normnick)) + self._normnick
		<<H is a short. Integers are longs on our platform, so we're doing 0000 0001 0001 sizeOf().  Essentially.
	local {
		c1;
		c2};
	pack(1, @c1);
	pack(65536+sizeOf(adrSelf^._normnick), @c2);
	
	msgStr = string(c1) +string(c2) + adrSelf^._normnick;
	tcp.im.builtinDrivers.aim.code.core.flap_to_toc(adrSelf, 1,msgStr);
	
	<<#now, login
	msgStr = "toc_signon";
	for str in {adrSelf^.TOC_SERV_AUTH[1], adrSelf^.TOC_SERV_AUTH[2], adrSelf^._normnick, ep,"english", tcp.im.builtinDrivers.aim.code.util.encode(adrSelf^._agent)} {
		msgStr = msgStr +" " + str;
		};
	tcp.im.builtinDrivers.aim.code.core.flap_to_toc(adrSelf, 2, msgStr  );
	return(true)}



This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.