››; Log this caller to the›; CALL.LOG dataset at logoff›; --------------------------› ››Module› Set 14 = $7000› Set $491 = $7000›››Define String = "BYTE ARRAY",› Disk1 = "1",› Disk2 = "2",› Repeat = "Do",› End = "Od",› Endif = "Fi",› Ef = "Elseif"››››Byte array jmp = [0 0 0 $10 5 1 88]››Card Array EndOfPgm(1)›› Include "D1:>action>sys.act"››Module›› Include "D1:>action>routines.bbs"››Module››Byte CError››››Module› Include "D1:>action>actequ.ata"››››Module››››››Proc MyError(Byte Ecd)› CError = Ecd›Return››››››Proc Log_Caller()›› String Fn(40)="Dx:>PRO>LOG>CALL.LOG"›› Fn(2) = S_LogDr› Close(Disk2)› CError = 0› Open(Disk2,Fn,9,0) ;append mode› If CError > 0 then› Return› Endif›› PrintD(Disk2," Logged Off At: ")› If CError = 0 then› PrintDE(Disk2,Cur_time)› Endif›Return›››››Proc Main()›› Error=MyError› MIOsuspend()› If BBS_active > 0 then› If S_LogDr > 0 then› If Compl_Logon > 0 then› Log_caller()› Close(Disk2)› Endif› Endif› Endif› MIOresume() ›Return››