/* CheckDataBase.br * * Script by: Eivind Nordseth, Ultima Thule Software. */ parse arg argument template = 'BBSNAME/A,DELETE/S' if (argument = '' | argument = '?') then do say '$VER: CheckDataBase 3.2 (07.10.94)' say 'Checks the messages in one or ALL BBSes. If the DELETE switch is used will ' say 'all messages which are impossible to read be marked as deleted.' say 'Template:' template exit end if ~show('p', 'BBSREAD') then do address command "run >nil: `GetEnv THOR/THORPath`bin/LoadBBSRead" "WaitForPort BBSREAD" end address BBSREAD READARGS template ARGS CMDLINE argument if(rc ~= 0) then do say BBSREAD.LASTERROR exit end options failat 31 if upper(ARGS.BBSNAME) = "ALL" then do GETBBSLIST stem BBSLIST if(rc ~= 0) then do say BBSREAD.LASTERROR exit end do n=1 to BBSLIST.COUNT say 'Checking bbs:' BBSLIST.n GETCONFLIST stem CONFLIST '"'||BBSLIST.n||'"' if(rc ~= 0) then do say BBSREAD.LASTERROR exit end do i=1 to CONFLIST.COUNT say ' Checking conference:' CONFLIST.i GETCONFDATA '"'||BBSLIST.n||'"' '"'||CONFLIST.i||'"' stem CONFDATA do k = CONFDATA.FIRSTMSG to CONFDATA.LASTMSG READBRMESSAGE '"'||BBSLIST.n||'"' '"'||CONFLIST.i||'"' k datastem DATA headstem HEAD textstem TEXT if(rc ~= 0) then do Say ' Error reading message' k ':' BBSREAD.LASTERROR if ARGS.DELETE ~= 0 then do say ' Marking message as deleted.' UPDATEBRMESSAGE '"'||BBSLIST.n||'"' '"'||CONFLIST.i||'"' k SETDELETED if(rc ~= 0) then do say ' Unable to mark message as deleted:' BBSREAD.LASTERROR end end end end end end end else do GETCONFLIST '"'||ARGS.BBSNAME||'"' stem CONFLIST if(rc ~= 0) then do say BBSREAD.LASTERROR exit end do i=1 to CONFLIST.COUNT say 'Checking conference:' CONFLIST.i GETCONFDATA '"'||ARGS.BBSNAME||'"' '"'||CONFLIST.i||'"' stem CONFDATA do k = CONFDATA.FIRSTMSG to CONFDATA.LASTMSG READBRMESSAGE '"'||ARGS.BBSNAME||'"' '"'||CONFLIST.i||'"' k headstem HEAD textstem TEXT datastem DATA if(rc ~= 0) then do Say ' Error reading message' k ':' BBSREAD.LASTERROR if ARGS.DELETE ~= 0 then do say ' Marking message as deleted.' UPDATEBRMESSAGE '"'||ARGS.BBSNAME||'"' '"'||CONFLIST.i||'"' k SETDELETED if(rc ~= 0) then do say ' Unable to mark message as deleted:' BBSREAD.LASTERROR end end end end end end