home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MAPL0206.ZIP / MBS10206.MRG < prev    next >
Encoding:
Text File  |  1993-02-06  |  39.4 KB  |  1,099 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against E:\RBBS\STOCK\RBBSSUB1.BAS to produce E:\RBBS\CHAT\RBBSSUB1.BAS
  3. * E:\RBBS\STOCK\RBBSSUB1.BAS:  Date 6-20-1992  Size 55569 bytes
  4. * ------------[ Created 02-06-1993 06:06:44 ]------------
  5. * REPLACING old line(s) by new
  6. ' $linesize:132
  7. ' $title: 'RBBS-SUB1.BAS 17.4, Copyright 1986-92 by D. Thomas Mack'
  8. '  Copyright 1990 by D. Thomas Mack, all rights reserved.
  9. '  Name ...............: RBBSSUB1.BAS
  10. '  First Released .....: June 21, 1992
  11. '  Subsequent Releases.: 
  12. '  Copyright ..........: 1986-1992
  13. '  Purpose.............:
  14. '     Subprorams that require error trapping are incorporated
  15. '     within RBBSSUB1.BAS as separately callable subroutines
  16. '     in order to free up as much code as possible within
  17. '     the 64WasK code segment used by RBBS-PC.BAS.
  18. '  Parameters..........: Most parameters are passed via a COMMON statement.
  19. '
  20. ' Subroutine  Line               Function of Subroutine
  21. '   Name     Number
  22. '  ChangeDir   20101   Change subdirectory
  23. '  CheckInt    58360   Check input is valid integer
  24. '  CommPut     59275   Write string to communications port
  25. '  FindFile    59790   Determine whether a file exists without opening it
  26. '  FindFree    51098   Find amount of space on the upload disk drive
  27. '  FindItX     20219   Find if a file exists on a device
  28. '  FindUser    12598   Find a user in the USERS file
  29. '  FlushCom    20308   Read all characters in the communications port
  30. '  GetCom       1418   Read a character from the communications port
  31. * ------[ first line different ]------
  32. '  GetMenuNew  58370   Read "MENUNEW.DEF" file for Menu0 Updates     'MENU174
  33. '  GetPassword 58280   Read RBBS-PC's "PASSWORD" file
  34. '  GETWRK      58330   Read record from file number 2
  35. '  KillWork    58258   Delete a RBBS-PC "WORK" file
  36. '  NetBIOS     20898   Lock/Unlock NetBIOS semaphore files
  37. '  OpenCom       200   Open communications port (number 3)
  38. '  OpenFMS     58188   Open the upload management system directory
  39. '  OpenOutW    28218   Open RBBS-PC's "WORK" file (number 2) for output
  40. '  OpenRSeq     1479   Open a sequential file (number 2) for random I/O
  41. '  OpenUser     9398   Open the USER file (number 5)
  42. '  OpenWork    57978   Open RBBS-PC's work file (number 2)
  43. '  OpenWorkA   58340   Open RBBS-PC's "WORK" file (number 2) for append
  44. '  Printit     13673   Print line on the local PC printer
  45. '  PrintWork   58320   Print string to file #2 w/o CR/LF
  46. '  PrintWorkA  58350   Print string to file #2 with CR/LF
  47. '  PutCom      59650   Write to the communications port
  48. '  PutWork     59660   Write to work file randomly
  49. '  RBBSPlay    59680   Plays a musical string          'Removed from Maple
  50. '  ReadAny     58310   Read file number 2 into ZOutTxt$
  51. '  ReadDef       112   Read configuration file
  52. '  ReadDir     58290   Read entire lines
  53. '  ReadParmsX  58300   Read certain number of parameters from specified file
  54. '  Talk        59700   RBBS-PC Voice synthesizer support for sight impaired Removed
  55. '  SetCall       108   Find where next callers record is
  56. '  UpdateC     43048   Update the caller's file with elasped session time
  57. '  UpdtCalr    13661   Update to the caller's file
  58. '  ViewTxt     60139   Display ASCII file from Compressed file 'Pe 02/03/90
  59. '
  60. '  $INCLUDE: 'RBBS-VAR.BAS'
  61. * REPLACING old line(s) by new
  62. 117 IF ZSubParm <> -62 THEN _
  63.        IF PrevRead$ = ConfigFile$ THEN _
  64.           EXIT SUB _
  65.        ELSE PrevRead$ = ConfigFile$
  66.     CLOSE 2
  67.     ZBulletinSave$ = ZBulletinMenu$
  68.     CALL OpenWork (2,ConfigFile$)
  69.     ZCurDef$ = ConfigFile$
  70.     INPUT #2,ZWasDF$, _
  71.              ZDnldDrives$, _
  72.              ZSysopPswd1$, _
  73.              ZSysopPswd2$, _
  74.              ZSysopFirstName$, _
  75.              ZSysopLastName$, _
  76.              ZRequiredRings, _
  77.              ZStartOfficeHours, _
  78.              ZEndOfficeHours, _
  79.              ZMinsPerSession, _
  80.              ZWasDF, _
  81.              ZWasDF, _
  82.              ZUpldDir$, _
  83. * ------[ first line different ]------
  84.              ZSkipMailCheck, _             ' was ZExpertUserDef, _
  85.              ZActiveBulletins, _
  86.              ZPromptBellDef, _
  87.              ZWasDF, _
  88.              ZMenusCanPause, _
  89.              ZMenu$(1), _
  90.              ZMenu$(2), _
  91.              ZMenu$(3), _
  92.              ZMenu$(4), _
  93.              ZMenu$(5), _
  94.              ZMenu$(6), _
  95.              ZConfMenu$, _
  96.              ZTestANSITime, _
  97.              ZWelcomeInterruptable, _
  98.              ZRemindFileXfers, _
  99.              ZPageLengthDef, _
  100.              ZMaxMsgLinesDef, _
  101.              ZDoorsAvail, _
  102.              ZWasDF$, _
  103.              ZMainMsgFile$, _
  104.              ZMainMsgBackup$
  105.     INPUT #2, WasX$, _
  106.               ZCmntsFile$, _
  107.               ZMainUserFile$, _
  108.               ZWelcomeFile$, _
  109.               ZNewUserFile$, _
  110.               ZMainDirExtension$
  111.     CALL BreakFileName (WasX$,ZWasY$,ZWasDF$,ZWasZ$,ZFalse)
  112.     IF ZWasDF$ <> "" THEN _
  113.        ZCallersFile$ = WasX$
  114.     INPUT #2, ZWasDF$
  115.     IF ZComPort$ <> "COM0" THEN _
  116.        IF NOT ZConfMode THEN _
  117.           ZComPort$ = ZWasDF$
  118.     INPUT #2, ZBulletinsOptional, _
  119.               ZModemInitCmd$, _
  120.               ZRTS$, _
  121.               ZCallersLst$, _
  122.               ZFG, _
  123.               ZBG, _
  124.               ZBorder
  125.     IF ZConfMode THEN _
  126.        INPUT #2, ZWasDF$, _
  127.                  ZWasDF$ _
  128.     ELSE INPUT #2, ZRBBSBat$ , _
  129.                    ZRCTTYBat$
  130.     INPUT #2,ZOmitMainDir$, _
  131.              ZFirstNamePrompt$, _
  132.              ZHelp$(3), _
  133.              ZHelp$(4), _
  134.              ZHelp$(7), _
  135.              ZHelp$(9), _
  136.              ZBulletinMenu$, _
  137.              ZBulletinPrefix$, _
  138.              ZWasDF$, _
  139.              ZMsgReminder, _
  140.              ZRequireNonASCII, _
  141.              ZAskExtendedDesc, _
  142.              ZMaxNodes                                               ' KG100701
  143.     IF ZConfMode THEN _                                              ' KG100701
  144.        INPUT #2, ZwasDF, ZwasDF _                                    ' KG100701
  145.     ELSE INPUT #2, ZNetworkType, _                                   ' KG100701
  146.                    ZRecycleToDos
  147.     INPUT #2,ZWasDF, _
  148.              ZWasDF, _
  149.              ZTrashcanFile$
  150.     INPUT #2,ZMinLogonSec, _
  151.              ZDefaultSecLevel, _
  152.              ZSysopSecLevel, _
  153.              ZFileSecFile$, _
  154.              ZSysopMenuSecLevel, _
  155.              ZConfMailList$, _
  156.              ZMaxViolations, _
  157.              ZOptSec(50), _   ' SECURITY FOR SYSOP COMMANDS 1
  158.              ZOptSec(51), _
  159.              ZOptSec(52), _
  160.              ZOptSec(53), _
  161.              ZOptSec(54), _
  162.              ZOptSec(55), _
  163.              ZOptSec(56), _   ' SYSOP 7
  164.              ZPswdFile$, _
  165.              ZMaxPswdChanges, _
  166.              ZMinSecForTempPswd, _
  167.              ZOverWriteSecLevel, _
  168.              ZDoorsTermType, _
  169.              ZMaxPerDay
  170.     INPUT #2,ZOptSec(1), _   ' SECURITY FOR MAIN MENU COMMANDS 1
  171.              ZOptSec(2), _
  172.              ZOptSec(3), _
  173.              ZOptSec(4), _
  174.              ZOptSec(5), _
  175.              ZOptSec(6), _
  176.              ZOptSec(7), _
  177.              ZOptSec(8), _
  178.              ZOptSec(9), _
  179.              ZOptSec(10), _
  180.              ZOptSec(11), _
  181.              ZOptSec(12), _
  182.              ZOptSec(13), _
  183.              ZOptSec(14), _
  184.              ZOptSec(15), _
  185.              ZOptSec(16), _
  186.              ZOptSec(17), _
  187.              ZOptSec(18), _   ' MAIN COMMAND 18
  188.              ZMinNewCallerBaud, _
  189.              ZWaitBeforeDisconnect
  190.     INPUT #2,ZOptSec(19), _      ' Security for FILE COMMANDS 1
  191.              ZOptSec(20), _
  192.              ZOptSec(21), _
  193.              ZOptSec(22), _
  194.              ZOptSec(23), _
  195.              ZOptSec(24), _
  196.              ZOptSec(25), _
  197.              ZOptSec(26), _      ' FILE COMMAND 8
  198.              ZOptSec(27), _      ' SECURITY FOR UTILITY COMMANDS 1
  199.              ZOptSec(28), _
  200.              ZOptSec(29), _
  201.              ZOptSec(30), _
  202.              ZOptSec(31), _
  203.              ZOptSec(32), _
  204.              ZOptSec(33), _
  205.              ZOptSec(34), _
  206.              ZOptSec(35), _
  207.              ZOptSec(36), _
  208.              ZOptSec(37), _
  209.              ZOptSec(38), _   ' UTIL COMMAND 12
  210.              ZOptSec(46), _   ' SECURITY FOR GLOBAL COMMANDS 1
  211.              ZOptSec(47), _
  212.              ZOptSec(48), _
  213.              ZOptSec(49), _
  214.              ZUpldTimeFactor!, _
  215.              ZComputerType, _
  216.              ZRemindProfile, _
  217.              ZRBBSName$, _
  218.              ZCmdsBetweenRings, _
  219.              ZCopyrightSecs, _
  220.              ZPagingPtrSupport$
  221.     IF ZConfMode THEN _
  222.          INPUT #2, ZwasDF$ _                    'Pe 04/14/92
  223.     ELSE INPUT #2, ZModemInitBaud$
  224.              IF ZErrCode > 0 THEN _
  225.                 EXIT SUB
  226. * REPLACING old line(s) by new
  227. 119 INPUT #2, ZPersonalDrvPath$, _
  228.               ZPersonalDir$, _
  229.               ZPersonalBegin, _
  230.               ZPersonalLen, _
  231.               ZPersonalProtocol$, _
  232.               ZPersonalConcat , _
  233.               ZPrivateReadSec, _
  234.               ZPublicReadSec, _
  235.               ZSecChangeMsg
  236.     IF ZConfMode THEN _
  237.          INPUT #2, ZwasDF _
  238.     ELSE INPUT #2, ZKeepInitBaud
  239.     INPUT #2, ZMainPUI$
  240.     IF ZConfMode THEN _
  241.        INPUT #2, ZWasDF$,ZWasDF$,ZWasDF$ _
  242.     ELSE INPUT #2, ZDefaultEchoer$, _
  243.                    ZHostEchoOn$, _
  244.                    ZHostEchoOff$
  245.     INPUT #2, ZSwitchBack, _
  246.               ZDefaultLineACK$, _
  247.               ZAltdirExtension$, _
  248.               ZDirPrefix$
  249.     IF ZConfMode THEN _
  250.        INPUT #2, ZWasDF, _
  251.                  ZWasDF, _
  252.                  ZWasDF _
  253.     ELSE INPUT #2, ZWasDF,_
  254.                    ZModemInitWaitTime, _
  255.                    ZModemCmdDelayTime
  256.     INPUT #2, ZTurboRBBS, _
  257.               ZSubDirCount, _
  258.               ZWasDF, _
  259.               ZUpldToSubdir, _
  260.               ZWasDF, _
  261.               ZUpldSubdir$, _
  262.               ZMinOldCallerBaud, _
  263.               ZMaxWorkVar, _
  264.               ZDiskFullGoOffline, _
  265.               ZExtendedLogging
  266.      IF ZConfMode THEN _
  267.         INPUT #2, ZWasDF$, _
  268.                   ZWasDF$, _
  269.                   ZWasDF$, _
  270.                   ZWasDF$ _
  271.      ELSE INPUT #2, ZModemResetCmd$, _
  272.                     ZModemCountRingsCmd$, _
  273.                     ZModemAnswerCmd$, _
  274.                     ZModemGoOffHookCmd$
  275.      INPUT #2,ZDiskForDos$, _
  276.               ZDumbModem, _
  277.               ZCmntsAsMsgs
  278.      IF ZConfMode THEN _
  279.         INPUT #2, ZWasDF, _
  280.                   ZWasDF, _
  281.                   ZWasDF, _
  282.                   ZWasDF, _
  283.                   ZWasDF, _
  284.                   ZWasDF _
  285.      ELSE INPUT #2, ZLSB,_
  286.                     ZMSB,_
  287.                     ZLineCntlReg,_
  288.                     ZModemCntlReg,_
  289.                     ZLineStatusReg,_
  290.                     ZModemStatusReg
  291.      INPUT #2,ZKeepTimeCredits, _
  292.               ZXOnXOff, _
  293.               ZAllowCallerTurbo, _
  294.               ZUseDeviceDriver$, _
  295.               ZPreLog$, _
  296.               ZNewUserQuestionnaire$, _
  297.               ZEpilog$, _
  298.               ZRegProgram$, _
  299.               ZQuesPath$, _
  300.               ZUserLocation$, _
  301.               ZWasDF$, _
  302.               ZWasDF$, _
  303.               ZWasDF$, _
  304.               ZEnforceRatios, _
  305.               ZSizeOfStack, _
  306.               ZSecExemptFromEpilog, _
  307.               ZUseBASICWrites, _
  308.               ZDosANSI, _
  309.               ZEscapeInsecure, _
  310.               ZUseDirOrder, _
  311.               ZAddDirSecurity, _
  312.               ZMaxExtendedLines, _
  313.               ZOrigCommands$
  314.      INPUT #2,ZLogonMailLevel$, _
  315.               ZMacroDrvPath$, _
  316.               ZMacroExtension$, _
  317.               ZEmphasizeOnDef$, _
  318.               ZEmphasizeOffDef$, _
  319.               ZFG1Def$, _
  320.               ZFG2Def$, _
  321.               ZFG3Def$, _
  322.               ZFG4Def$, _
  323.               ZSecVioHelp$
  324.      IF ZConfMode THEN _
  325.         INPUT #2,ZWasDF _
  326.      ELSE INPUT #2,ZFossil
  327.      INPUT #2,ZMaxCarrierWait, _
  328.               ZWasDF, _
  329.               ZSmartTextCode, _
  330.               ZTimeLock, _
  331.               ZWriteBufDef, _
  332.               ZSecKillAny, _
  333.               ZDoorsDef$, _
  334.               ZScreenOutMsg$, _
  335.               ZAutoPageDef$
  336.      IF ZErrCode > 0 THEN _
  337.         EXIT SUB
  338.      ZConfigFileName$ = ConfigFile$
  339.      CALL EditDef
  340. * ------[ first line different ]------
  341. * INSERTING new line(s)
  342. 150 MKDIR ZlibWorkDiskPath$ + ZNodeId$
  343.   IF ZErrCode = 75 THEN _
  344.      ZErrCode = 0
  345.     ZArkViewPath$ =  ZLibWorkDiskPath$ + ZNodeID$ + "\"   'Pe 08/15/91
  346.     ZChatFileName$ = ZLibDrive$+"RBBSCHAT.DEF"            'Pe 02/22/92
  347.      END SUB
  348. * REPLACING old line(s) by new
  349. 13663 ZErrCode = 0
  350.       FIELD 4, 64 AS ZCallersRecord$
  351.       IF ZErrCode > 0 THEN _
  352. * ------[ first line different ]------
  353.       Call GetRBBSString(47,RBBSString$) : _     'Pe 01/16/93
  354.       OutTxt$ = RBBSString$ : _                'Pe 01/16/93 
  355.          CALL QuickTPut1 (OutTxt$+STR$(ZErrCode)) : _
  356.          ZErrCode = 0 : _
  357.          EXIT SUB
  358.       ON EXTLog GOTO 13665,13670,13667
  359. '
  360. ' ****  EXTENDED LOGGING ENTRY  ***
  361. '
  362. * REPLACING old line(s) by new
  363. 13674 IF ZPrinter THEN _
  364.          LPRINT Strng$
  365.       END SUB
  366. * ------[ first line different ]------
  367. '
  368. * DELETING old line(s)
  369. 20101
  370. 20103
  371. * REPLACING old line(s) by new
  372. 52001 FILES ZWasZ$
  373.       IF ZErrCode = 53 AND (ZWasZ$ = ZCmntsFile$ OR ZWasZ$ = ZUpldDriveFile$ ) THEN _
  374.          CALL OpenOutW (ZWasZ$) : _
  375.          GOTO 52000
  376.       IF ZErrCode = 53 AND ZWasZ$ = ZUpldDir$ THEN _
  377. * ------[ first line different ]------
  378.        Call GetRBBSString(262,RBBSString$) : _     'Pe 01/16/93
  379.          ZOutTxt$ = RBBSString$ : _                'Pe 01/16/93 
  380.          ZSubParm = 6 : _
  381.          CALL TPut : _
  382.          GOTO 52002
  383.       FOR WasX = 1 TO 25
  384.          ZFreeSpace$ = ZFreeSpace$ + CHR$(SCREEN (3,WasX))
  385.       NEXT
  386. * REPLACING old line(s) by new
  387. 58190 ' $SUBTITLE: 'OpenFMS - subroutine to open the FMS directory'
  388. ' $PAGE
  389. '
  390. '  NAME    -- OpenFMS
  391. '
  392. '  INPUTS  -- PARAMETER                      MEANING
  393. '             ZShareIt                DOS SHARING FLAG
  394. '             ZFMSDirectory$          NAME OF FMS DIRECTORY
  395. '
  396. '  OUTPUTS -- LastRec                NUMBER OF THE Last
  397. '                                    RECORD IN THE FILE
  398. '             CatLen                 Length of the category code
  399. '
  400. '  PURPOSE -- To open the upload directory as a random file and find
  401. '             the number of the last record in the file.
  402. '
  403.       SUB OpenFMS (LastRec,CatLen) STATIC
  404.       ON ERROR GOTO 65000
  405.       CLOSE 2
  406. * ------[ first line different ]------
  407.  IF ZActiveFMSDir$  = "" THEN _   'Pe Lib Mod
  408. ZActiveFMSDir$ = ZFMSDirectory$  'Pe Lib mod
  409.       OldFile = (ZActiveFMSDir$ = PrevFMS$)
  410.       IF OldFile THEN _
  411.          GOTO 58192
  412.       CALL OpenWork (2,ZActiveFMSDir$)
  413.       CALL ReadDir (2,1)
  414.       IF ZErrCode > 0 OR LEN(ZOutTxt$) < 37 THEN _                   ' KG091002
  415.          IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
  416.             ZFMSFileLength = 36 + ZMaxDescLen + ZPersonalLen _
  417.          ELSE ZFMSFileLength = 38 + ZMaxDescLen _
  418.       ELSE ZFMSFileLength = LEN(ZOutTxt$) + 2
  419.       IF ZFMSFileLength < 86 THEN _                                  ' KG091002
  420.          CalcCatLen = 3 : _                                          ' KG091002
  421.          ZMaxDescLen = ZFMSFileLength - 38 _                         ' KG091002
  422.       ELSE CalcCatLen = ZPersonalLen : _                             ' KG091002
  423.            ZMaxDescLen = ZFMSFileLength - 36 - ZPersonalLen          ' KG091002
  424.       CLOSE 2
  425. * REPLACING old line(s) by new
  426. 58192 ZErrCode = 0
  427.       IF ZShareIt THEN _
  428.          OPEN ZActiveFMSDir$ FOR RANDOM SHARED AS #2 LEN=ZFMSFileLength _
  429.       ELSE OPEN "R",2,ZActiveFMSDir$,ZFMSFileLength
  430. * ------[ first line different ]------
  431. If ZErrCode > 0 Then                    'Pe 02/02/90
  432.    ZerrCode = 0
  433. Call GetRBBSString(48,RBBSString$)     'Pe 01/16/93
  434.       OutTxt$ = RBBSString$                'Pe 01/16/93 
  435. CALL QuickTPut1 (OutTxt$ + ZActiveFMSDir$)    'Pe 09/25/91
  436. Call GetRBBSString(49,RBBSString$)     'Pe 01/16/93
  437.       OutTxt$ = RBBSString$                'Pe 01/16/93 
  438. Call QuickTPut1 (CHR$(7) + OutTxt$)
  439.    LastRec = 0
  440.    EXIT SUB
  441. END IF                                   'Pe 02/02/90
  442.       LastRec = LOF(2)/ZFMSFileLength
  443.       CatLen = CalcCatLen
  444.       IF OldFile THEN _
  445.          EXIT SUB
  446.       PrevFMS$ = ZActiveFMSDir$
  447.       FIELD 2, ZFMSFileLength AS FMSRec$
  448.       GET #2,1
  449.       ZWasA = (LEFT$(FMSRec$,4) <> "\FMS")
  450.       ZUpInc = 2*(INSTR(FMSRec$," TOP ") = 0 OR ZWasA) + 1
  451.       ZDateOrderedFMS = ZWasA OR (INSTR(FMSRec$," NOSORT") = 0)
  452.       ZWasDF = INSTR(FMSRec$,"CH(")
  453.       ZChainedDir$ = ""
  454.       IF ZWasDF > 0 AND (NOT ZWasA) THEN _
  455.          WasX = INSTR(ZWasDF,FMSRec$,")") : _
  456.          IF WasX > 0 THEN _
  457.             ZChainedDir$ = MID$(FMSRec$,ZWasDF+3,WasX-ZWasDF-3) : _
  458.             CALL FindFile (ZChainedDir$,ZOK) : _
  459.             IF NOT ZOK THEN _
  460.                ZChainedDir$ = ""
  461.       IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
  462.          ZFileWaiting = ZFalse
  463.       ZPersonalDnld = ((ZActiveFMSDir$ = ZPersonalDir$) OR _
  464.                        (INSTR(FMSRec$," PERS") > 0 AND NOT ZWasA))
  465.       ZFreeDnld = ZPersonalDnld
  466.       IF NOT ZWasA THEN _
  467.          IF INSTR(FMSRec$," NOFREE") > 0 THEN _
  468.             ZFreeDnld = ZFalse _
  469.          ELSE IF INSTR(FMSRec$," FREE") > 0 THEN _
  470.             ZFreeDnld = ZTrue
  471.       ZListOnly = ZPersonalDnld
  472.       IF NOT ZWasA THEN _
  473.          IF INSTR(FMSRec$," LISTONLY ") > 0 THEN _
  474.             ZListOnly = ZTrue
  475.       ZExtraDnldTime = -60 * ZPersonalDnld
  476.       IF NOT ZWasA THEN _
  477.          WasX = INSTR(FMSRec$," TIMEEXTRA ")
  478.          IF WasX > 0 THEN _
  479.             CALL CheckInt (MID$(FMSRec$,WasX+10)) : _
  480.             ZExtraDnldTime = ZTestedIntValue
  481.       END SUB
  482. * REPLACING old line(s) by new
  483. 58295 END SUB
  484. * ------[ first line different ]------
  485.  
  486. * INSERTING new line(s)
  487. 58298 ' $SUBTITLE: 'ReadCommentedDir - subroutine to read commented "LNG" file'
  488. ' $PAGE
  489. '
  490. '  NAME    -- ReadCommentedDir
  491. '
  492. '             PARAMETER                MEANING
  493. '  INPUTS  -- FileNum                  WHICH # FILE TO READ
  494. '             WhichLine                HOW MANY LINES TO ADVANCE
  495. '
  496. '  OUTPUTS -- ZOutTxt$
  497. '
  498. '  PURPOSE -- To read "LNG" files
  499. '
  500.  SUB ReadCommentedDir (FileNum,WhichLine) STATIC
  501. ON ERROR GOTO 65000
  502. ZErrCode = 0
  503.      WasI = 1
  504.      WHILE WasI <= WhichLine
  505.         LINE INPUT #FileNum,ZOutTxt$
  506.         IF LEFT$(ZOutTxt$,1) = ";" THEN WasI = WasI - 1
  507.         WasI = WasI + 1
  508.      WEND
  509. 58299 END SUB
  510.  
  511. * INSERTING new line(s)
  512. 58370 ' $SUBTITLE: 'GetMenuNew - sub to read the "MENUNEW.DEF" File' 'MENU174
  513. ' $PAGE                                                              'MENU174
  514. '                                                                    'MENU174
  515. '  NAME    -- GetMenuNew                                             'MENU174
  516. '                                                                    'MENU174
  517. '                          PARAMETER             MEANING             'MENU174
  518. '  INPUTS  -- FILE # 2 OPENED                                        'MENU174
  519. '                                                                    'MENU174
  520. '  OUTPUTS -- ZMenuNewDate$         Date Sysop Last Online           'MENU174
  521. '             ZMenuNewTime$         Time Sysop Last Online           'MENU174
  522. '             ZMenuNewUpld          New Uploads Since Sysop on       'MENU174
  523. '             ZMenuNewUsers         New Users Since Sysop on         'MENU174
  524. '             ZMenuNewSysop         New Sysop Mail Waiting           'MENU174
  525. '             ZMenuNewCalls         Calls received since last on     'MENU174
  526. '             ZMenuNewDSC           Door Security Changes            'MENU1747
  527. '             ZMenuNewDl            Download Counter                 'MENU1747
  528. '                                                                    'MENU174
  529. '  PURPOSE -- To read the RBBS-PC "MENUNEW.DEF" file                 'MENU174
  530. '                                                                    'MENU174
  531.       SUB GetMenuNew STATIC                                          'MENU174
  532.       ON ERROR GOTO 65000                                            'MENU174
  533.       ZErrCode = 0                                                   'MENU174
  534.       INPUT #2,ZMenuNewDate$,     ZMenuNewTime$, _                   'MENU174
  535.                ZMenuNewUpld,      ZMenuNewUsers, _                   'MENU174
  536.                ZMenuNewCalls,     ZMenuNewSysop, _                   'MENU1747
  537.                ZMenuNewDSC,       ZMenuNewDl                         'MENU1747
  538. 58375 END SUB                                                        'MENU174
  539. * REPLACING old line(s) by new
  540. 59650 ' $SUBTITLE: 'PutCom -- subroutine to write to communications port'
  541. ' $PAGE
  542. '
  543. '  NAME    --  PutCom
  544. '
  545. '  INPUTS  --   PARAMETER     MEANING
  546. '                STRNG$      STRING TO PRINT TO COMM PORT
  547. '              ZFlowControl  WHETHER USING CLEAR TO SEND FOR FLOW
  548. '                            CONTROL BETWEEN THE PC AND THE MODEM
  549. '
  550. '  OUTPUTS --
  551. '
  552. '  PURPOSE -- Checks for carrier drop and flow control (xon/xoff)
  553. '             before writing to the communications port.
  554. '
  555.       SUB PutCom (Strng$) STATIC
  556.       ON ERROR GOTO 65000
  557.       IF ZLocalUser THEN _
  558.          EXIT SUB
  559.       CALL CheckCarrier
  560.       IF ZSubParm = -1 THEN _
  561.          EXIT SUB
  562.       IF NOT ZXOffEd THEN _
  563.          GOTO 59652
  564.       ZSubParm = 1
  565.       CALL Line25
  566.       ZWasY$ = ZXOff$
  567. * ------[ first line different ]------
  568.       XOffTimeout! = TIMER + ZWaitBeforeDisconnect
  569.       WHILE ZWasY$ = ZXOff$ AND ZSubParm <> -1
  570.          Char = -1
  571.          WHILE Char = -1 AND ZSubParm <> -1
  572.             GOSUB 59654
  573.          WEND
  574.          IF Char <> -1 THEN _
  575.             CALL GetCom(ZWasY$) : _
  576.             IF ZXOnXOff AND ZWasY$ <> ZXOn$ THEN _
  577.                ZWasY$ = ZXOff$
  578.       WEND
  579.       ZXOffEd = ZFalse
  580.       ZSubParm = 1
  581.       CALL Line25
  582. * REPLACING old line(s) by new
  583. 59654 CALL EofComm (Char)
  584.       CALL GoIdle
  585.       CALL CheckCarrier
  586. * ------[ first line different ]------
  587.       CALL CheckTime(XOffTimeout!, TempElapsed!,1)
  588.       IF ZSubParm = 2 THEN _
  589.          ZSubParm = -1
  590.       RETURN
  591.       END SUB
  592. * REPLACING old line(s) by new
  593. 59660 ' $SUBTITLE: 'PutWork -- subroutine to write to upload files'
  594. ' $PAGE
  595. '
  596. '  NAME    -- PutWork
  597. '
  598. '  INPUTS  --   PARAMETER     MEANING
  599. '                STNG$       STRING TO WRITE TO FILE
  600. '                RecNum      RECORD NUMBER TO WRITE
  601. '                RecLen      LENGTH OF RECORD TO WRITE
  602. '
  603. '  OUTPUTS --
  604. '
  605. '  PURPOSE -- Writes uploaded file records to work file
  606. '
  607.       SUB PutWork (Strng$,RecNum,RecLen) STATIC
  608.       ON ERROR GOTO 65000
  609.       FIELD #2,RecLen AS ZUpldRec$
  610.       LSET ZUpldRec$ = Strng$
  611.       RecNum = RecNum + 1
  612.       PUT #2,RecNum
  613.       END SUB
  614. * ------[ first line different ]------
  615.  
  616. * DELETING old line(s)
  617. 59680
  618. 59700
  619. 59720
  620. 59721
  621. 59722
  622. 59723
  623. * REPLACING old line(s) by new
  624. 59791 IF FExists THEN _
  625.          IOErrorCount = 0 : _
  626.          CALL RBBSFind (FilName$,WasZ,WasY,WasM,WasD) : _
  627.          FExists = (WasZ = 0)
  628.       END SUB
  629. * ------[ first line different ]------
  630. '
  631. '* INSERTING new line(s)
  632. * INSERTING new line(s)
  633. 59800 SUB OpenWrk9 (ZChatFileName$) STATIC                            ' CHAT0805
  634.       ON ERROR GOTO 65000                                            ' CHAT0805
  635.       IF ZShareIt THEN                                               ' CHAT0805
  636.          OPEN ZChatFileName$ FOR RANDOM ACCESS READ WRITE SHARED AS #9 LEN = 128
  637.        ELSE                                                          ' CHAT0805
  638.          OPEN ZChatFileName$ FOR RANDOM AS #9 LEN = 128               ' CHAT0805
  639.       END IF                                                         ' CHAT0805
  640.       END SUB                                                        ' CHAT0805
  641. '                                                                     ' CHAT0805
  642. 59810 SUB LockIt9 (Record, ReadIt) STATIC                            ' CHAT0805
  643.       ON ERROR GOTO 65000                                            ' CHAT0805
  644.       IF ZNetworkType=4 THEN                                         ' CHAT0901
  645.          CALL DVLock("CHAT")                                         ' CHAT0901
  646.       END IF                                                         ' CHAT0901
  647.       IF ZNetworkType <> 4 THEN LOCK 9, Record                       ' CHAT0901
  648.       IF ReadIt THEN                                                 ' CHAT0805
  649.          GET 9, Record                                               ' CHAT0805
  650.        ELSE                                                          ' CHAT0805
  651.          PUT 9, Record                                               ' CHAT0805
  652.       END IF                                                         ' CHAT0805
  653.       IF ZNetworkType=4 THEN                                         ' CHAT0901
  654.          CALL DVUnlock("CHAT")                                       ' CHAT0901
  655.       END IF                                                         ' CHAT0901
  656.       IF ZNetworkType <> 4 THEN UNLOCK 9, Record                     ' CHAT0901
  657.       END SUB                                                        ' CHAT0805
  658. '
  659. '
  660. 60139' $SUBTITLE: 'ViewTxt - Subroutine to display ASCII file from ARC file'
  661. ' $PAGE
  662. '
  663. '
  664. '  PURPOSE --  Allows user to access the contants of a Compressed file
  665. '              and either type an ASCII file to the screen or Xtract 
  666. '              selected members of archive. 
  667. '              To Enable this feature a .BAT file begining with X 
  668. '              and the name of the Archive type must be present were
  669. '              RBBS looks for command.com (e.g. XZIP.BAT for Zip Files)
  670. '              Three parameters are replaced in the Bat file
  671. '              [1] = FileName of selected archive
  672. '              [2] = Name of file to Xtract from archive
  673. '              [3] = Drive path specified in config for View work drive
  674. '                    to place xtracted file(s) in
  675. '
  676. '             example bat file  PKUNZIP -O [1] [2] [3]
  677. ' RBBS would insert  PKUNZIP - O  c:\new\arcfile.zip test.doc c:\view
  678. '
  679. '     The Re (Deafultextension).BAT file must contain the commands
  680. '      for the archiver you use only 2 parameters are passed to the file 
  681. '    %1) Drive\Path\ specified in config for V)iewarc feature
  682. '    %2) Default extension of compressed files on your BBS without the .
  683. '    %3) Added to Specify Node Number file is for      'LK 08/15/91
  684. '
  685. '     e.g.  PKZIP -m -ex %1VIEW%3.%2 %1*.*
  686. ' RBBS would insert PKZIP -m -ex C:\VIEW\VIEWx.ZIP C:\VIEW\*.*
  687. '
  688. '
  689.   SUB Viewtxt STATIC
  690.   ON ERROR GOTO 65000
  691. '
  692. 60140 ZSubParm = 1 
  693.       X = 263              'Pe 01/17/93
  694.       Gosub 60270         'Pe 01/17/93
  695. ZOutTxt$ = ZCrLf$ + OutTxt$
  696.            ZTurboKey = -ZTurboKeyUser
  697.            CALL TGet 
  698.      IF ZSubParm = -1 or ZWasQ = 0 THEN _
  699.                          EXIT SUB
  700.         CALL AllCaps (ZUserIn$)
  701.        MplX = INSTR("TXCLDK?HQ",ZUserIn$)   'pe 03/21/92
  702.      ON MplX GOTO 60149,60168,  60175,  60142,60183,60200,60141,60141,60280
  703. '                 Type  Xtract Compress  List  Dnld  Kill  Help  Help  Quit
  704. GOTO 60280
  705. '
  706. 60141 CALL BufFile (ZHelpPath$ + "ZIP" + ZHelpExtension$,WasX)
  707.       GOTO 60140 
  708. 60142 X = 50              'Pe 01/17/93
  709.       Gosub 60270         'Pe 01/17/93
  710.   CALL QuickTPut1 (OutTxt$) 'Pe 10/03/91
  711.    EXTRACT$ = "DIR "+ ZArkViewPath$+"*.* >VUZIP"+ZNodeID$+".LST" 
  712.    call ShellExit (EXTRACT$)    'Pe 10/03/91
  713. CALL BufFile("VUZIP"+ZNodeID$ +".LST",WasX)
  714. GOTO 60140
  715. '
  716. 60149 ZSubParm = 1
  717.       X = 264              'Pe 01/17/93
  718.       Gosub 60270         'Pe 01/17/93
  719.      ZOutTxt$ = OutTxt$ 
  720.      CALL TGet
  721. IF ZSubParm = -1 THEN _
  722.  EXIT SUB
  723.       ZWasB = 1
  724.        IF ZWasQ = 0 THEN _
  725.         GOTO 60140
  726. IF ZUserIn$ = "R" or ZUserIn$ = "r" THEN _
  727.    CALL BufFile (ZArcWork$,WasX) : _
  728. GOTO 60149
  729.        LastArc = ZWasQ
  730.        FirstArc =ZWasB
  731. FOR ArcIndex = FirstArc TO LastArc
  732. WasZ$ = ZUserIn$(ArcIndex)
  733.    CALL AllCaps (WasZ$)  
  734.   IF INSTR(WasZ$,"*") OR INSTR(WasZ$,"?") THEN _
  735.       X = 51 : _             'Pe 01/17/93
  736.       Gosub 60270 : _        'Pe 01/17/93
  737.     CALL QuickTPut1 (OutTxt$) : _   'Pe 10/03/91
  738.      GOTO 60149
  739.  CALL BreakFileName (WasZ$,Drive$,Prefix$,Ext$,ZFalse)
  740. IF EXT$ = "" THEN _                                    'Pe 08/14/91
  741.    GOTO 60150                                          'Pe 08/14/91
  742.  IF INSTR("ZIP,ARC,LZH,ZOO,PAK,ARJ,DWC,BIN,LIB,OBJ,COM,EXE,PIC,GIF,",Ext$+",") > 0 THEN _  'Pe 08/04/91
  743.       X = 52 : _             'Pe 01/17/93
  744.       Gosub 60270 : _         'Pe 01/17/93
  745.      CALL QuickTPut1 (OutTxt$) :_  'Pe 10/03/91
  746.          GOTO 60149
  747. 60150  Gosub 60190         'Pe 10/03/91
  748.          CALL FindIt (WasZ$)
  749.       IF NOT ZOK THEN _
  750.       X = 53 : _              'Pe 01/17/93
  751.       Gosub 60270 : _         'Pe 01/17/93
  752.   CALL QuickTPut1 (CHR$(7)+WasZ$+" " +OutTxt$) :_  'Pe 10/03/91
  753.         GOTO 60149
  754.      CALL BufFile (WasZ$,WasX)
  755.       CALL KillWork(WasZ$)   'get rid of the files that were xtracted
  756.        NEXT ArcIndex
  757. GOTO 60140
  758. '
  759. 60168 ZSubParm = 1
  760.       X = 265              'Pe 01/17/93
  761.       Gosub 60270         'Pe 01/17/93
  762.        ZOutTxt$ = OutTxt$
  763.           CALL TGet
  764.        IF ZSubParm = -1 THEN _
  765.              EXIT SUB
  766.      If ZWasQ = 0 THEN _    'Pe 10/20/91
  767.           GOTO 60140
  768.        IF ZUserIn$ = "R" or ZUserIn$ = "r" THEN _
  769.           CALL BufFile (ZArcWork$,WasX) : _
  770.          GOTO 60168
  771.       ZwasB = 1
  772.       LastArc = ZwasQ
  773.       FirstArc = ZwasB
  774.       FOR ArcIndex = FirstArc TO LastArc
  775.            WasZ$ = ZUserIn$(ArcIndex)
  776.             CALL AllCaps (WasZ$)
  777.              IF INSTR(WasZ$,"*") OR INSTR(WasZ$,"?") THEN _
  778.             Wildcards = ZTrue                                      'Pe 08/21/91
  779.          CALL BreakFileName (WasZ$,Drive$,Prefix$,Ext$,ZFalse)
  780. '
  781. Gosub 60190  'Pe 10/03/91
  782. '
  783. If WildCards = ZTrue Then _
  784.    WildCards = ZFalse : _
  785.        X = 54  : _             'Pe 01/17/93
  786.       Gosub 60270 : _        'Pe 01/17/93
  787.     Call QuickTput1 (ZCrLf$ +OutTxt$ +ZCrLF$): _ 'Pe 10/03/91
  788.      Extract$ = "DIR "+ ZArkViewPath$+"*.* >VUZIP"+ZNodeID$+".LST" : _
  789.    CALL ShellExit (Extract$) : _     'Pe 10/03/91
  790.   CALL BufFile("VUZIP"+ZNodeID$ +".LST",WasX) : _
  791. Goto 60171
  792. '                           'Pe 11/03/91
  793.    CALL FindIt(WasZ$)
  794.     IF NOT ZOK THEN _
  795.       X = 55 : _              'Pe 01/17/93
  796.       Gosub 60270 : _        'Pe 01/17/93
  797.       CALL QuickTPut1 (ZUserIn$(ArcIndex)+ OutTxt$ +ZCrLF$) : _  'Pe 10/03/91
  798.     GOTO 60171
  799.       X = 56              'Pe 01/17/93
  800.       Gosub 60270         'Pe 01/17/93
  801.  CALL QuickTPut1 (ZUserIn$(ArcIndex) + OutTxt$ )
  802. '
  803. 60171 NEXT ArcIndex
  804.      X = 57              'Pe 01/17/93
  805.       Gosub 60270         'Pe 01/17/93
  806. CALL QuickTPut1 (OutTxt$ + " " +ZDefaultExtension$ + _
  807.                   " file "+ZCrLF$)  'Pe 10/03/91
  808.           GOTO 60140
  809. '
  810. '********** ZIP all files in the ZArkViewPath$ into VIEW.ZIP **********
  811. '
  812. 60175 ZSubparm = 1
  813.       X = 58              'Pe 01/17/93
  814.       Gosub 60270         'Pe 01/17/93
  815.       CALL QuickTPut1 (OutTxt$)  'Pe 10/03/91
  816.       WasX$ = ZDiskForDos$ + "RE" +ZDefaultExtension$ + ".BAT"
  817.       CALL FindIt (WasX$)
  818.        IF NOT ZOK THEN _
  819.       X = 59 : _              'Pe 01/17/93
  820.       Gosub 60270 : _         'Pe 01/17/93
  821.         Call QuickTPut1 (CHR$(7)+OutTxt$) : _
  822.          Call DelayTime (3) : _
  823.        EXIT SUB
  824.       X = 60              'Pe 01/17/93
  825.       Gosub 60270         'Pe 01/17/93
  826.    CALL QuickTPut1 (ZDefaultExtension$ + OutTxt$ )  'Pe 10/03/91
  827.    CALL ShellExit (WasX$ + " " + ZArkViewPath$ +_
  828.                    " " + ZDefaultExtension$ + " " + ZNodeId$) 'LK 08/15/91
  829.     Gosub 60182  'Pe 10/18/91
  830.   Goto 60140
  831.  
  832. '
  833. ' **** Check to see if Compresion was successfull if NOT then redo *****
  834. '
  835. 60182 'pe 10/18/91
  836. ViewFileName$ = ZArkViewPath$ + "VIEW" + ZNodeId$ + "." + ZDefaultExtension$ 'LK 08/15/91
  837. CALL FindIt (ViewFileName$)
  838. IF NOT ZOK THEN _
  839. X = 61 : _              'Pe 01/17/93
  840.       Gosub 60270 : _        'Pe 01/17/93
  841. CALL QuickTPut1 ( OutTxt$+ZCrLF$ ) : _ 'Pe 10/03/91
  842. CALL DelayTime (2) : _
  843. GOTO 60140
  844. X = 62              'Pe 01/17/93
  845. Gosub 60270         'Pe 01/17/93
  846. CALL QuickTPut1 (ZCrLF$ +OutTxt$+"  VIEW"+ZNodeId$+"."+ZDefaultExtension$ +ZCRLF$) 'LK 08/15/91
  847. Return
  848. '
  849. 60183 CALL CheckTimeRemain (MinsRemaining)  'Pe 03/30/92
  850.       IF ZSubParm = -1 THEN _               'Pe 03/30/92
  851.           Exit Sub                          'Pe 03/30/92
  852.  ZFileSysParm = 3   ' Pe 10/20/91
  853.        ZUserIn$ = "D"
  854.         Call FileSystem
  855.       IF ZDnldCompleted = ZTrue AND ZAutoEnd = 1 THEN _
  856.           ZSubParm = -1 : _ 
  857.             Exit Sub                   'AUTO Loggoff Mod
  858. GOTO 60140
  859. '
  860. '******** Subroutine to Extract from Archive..RE???.BAt must exist *****
  861. '
  862. 60190  WasX$ = ZDiskForDos$ + "X" + ZLastExt$ + ".BAT"    'Pe 08/14/91 line num
  863.       CALL FindIt (WasX$)
  864.       IF NOT ZOK THEN _
  865.         X = 63 : _              'Pe 01/17/93
  866.       Gosub 60270 : _         'Pe 01/17/93
  867. Call QuickTPut1 (ZLastExt$ + OutTxt$ ) : _
  868. Call DelayTime (3) : _
  869.        EXIT SUB
  870.       CALL ReadDir (2,1)
  871.       IF EOF(2) THEN _
  872.          WasX$ = ZOutTxt$ : _
  873.          ZGSRAra$(1) = ZFileName$ : _
  874.          ZGSRAra$(2) = WasZ$ : _
  875.          ZGSRAra$(3) = ZArkViewPath$
  876.        X = 64              'Pe 01/17/93
  877.       Gosub 60270         'Pe 01/17/93
  878.       CALL QuickTPut1 (OutTxt$)  'PE 10/03/91
  879.       CALL ShellExit (WasX$)
  880.       WasZ$ = ZArkViewPath$ + WasZ$
  881. Return
  882. '
  883. ' Kills files in ViewSubdir to allow better control of VieFiles
  884. '
  885. 60200 ZSubParm = 1
  886.       X = 266              'Pe 01/17/93
  887.       Gosub 60270         'Pe 01/17/93
  888.      ZOutTxt$ = OutTxt$
  889.      CALL TGet
  890. IF ZSubParm = -1 THEN _
  891.  EXIT SUB
  892.       ZWasB = 1
  893.        IF ZWasQ = 0 THEN _
  894.         GOTO 60140
  895.        LastArc = ZWasQ
  896.        FirstArc =ZWasB
  897. FOR ArcIndex = FirstArc TO LastArc
  898. WasZ$ = ZUserIn$(ArcIndex)
  899.    CALL AllCaps (WasZ$)  
  900.       WasZ$ = ZArkViewPath$ + WasZ$
  901.       CALL KillWork(WasZ$)   'get rid of the files that are NOT wanted
  902.       Call QuickTPut1 (WasZ$ + "  Now Deleted...!" )
  903.        NEXT ArcIndex
  904. Goto 60140
  905. '
  906. 60270 Call GetRBBSString(X,RBBSString$) : _     'Pe 01/16/93
  907.       OutTxt$ = RBBSString$ : _                'Pe 01/16/93 
  908.      RETURN
  909. 60280 END SUB
  910. '
  911. '
  912. '  $SUBTITLE: 'Error Handling for separately compiled subroutines'
  913. '  $PAGE
  914. '
  915. '
  916. ' Error handling for the separately compiled subroutines of RBBS-PC
  917. '
  918. '
  919. * REPLACING old line(s) by new
  920. 65000 IF ZDebug THEN _
  921.          ZOutTxt$ = "RBBSSUB1 DEBUG Error Trap Entry ERL=" + _
  922.               STR$(ERL) + _
  923.               " ERR=" + _
  924.               STR$(ERR) : _
  925.          IF ZPrinter THEN _
  926.             CALL Printit(ZOutTxt$) _
  927.          ELSE CALL LPrnt(ZOutTxt$,1)
  928.       ZErrCode = ERR
  929. '
  930. '     SetCall
  931. '
  932.       IF ERL = 108 THEN _
  933.          CALL PScrn ("Unable to create callers log " + ZCallersFile$) : _
  934.          SYSTEM
  935.       IF ERL = 110 THEN _
  936.           RESUME NEXT
  937. '
  938. '     OPEN CONFIG FILE
  939. '
  940.        IF ERL => 117 AND ERL <= 119 THEN _
  941.           RESUME NEXT
  942. '
  943. * ------[ first line different ]------
  944. '    Create ArkViewSubdir error handling   'Pe 08/15/91
  945.       IF ERL = 150 and ERR = 75 THEN _     'Pe 08/15/91
  946.       ZErrCode = ERR : _
  947.          RESUME NEXT                       'Pe 08/15/91
  948. '
  949. '
  950. '     OPEN COM PORT ERROR HANDLING
  951. '
  952.       IF ERL = 200 THEN _
  953.          CLS : _
  954.          CALL PScrn (ZComPort$ + " does not exist/not responding- Error" + STR$(ERR)) : _
  955.          STOP
  956. '
  957. '     GetCom ERROR HANDLING
  958. '
  959.        IF ERL = 1420 AND ERR = 57 THEN _
  960.           RESUME NEXT
  961.        IF ERL = 1420 AND ERR = 69 THEN _
  962.           ZSubParm = -1 :_
  963.           RESUME NEXT
  964. '
  965. '      OPENRESEQ ERROR HANDLING
  966. '
  967.        IF ERL = 1487 THEN _                            ' Pe 08/25/91
  968.            ZErrCode = ERR : _
  969.            RESUME NEXT
  970. '
  971. '      OpenUser ERROR HANDLING
  972. '
  973.        IF ERL = 9400 AND ERR = 75 AND ZShareIt THEN _
  974.           CALL DelayTime (30) : _
  975.           RESUME
  976. '
  977. '      FindUser ERROR HANDLING
  978. '
  979.        IF ERL = 12610 OR ERL = 12600 THEN _
  980.           RESUME NEXT
  981. '
  982. '     UpdtCalr ERROR HANDLING
  983. '
  984.        IF ERL = 13663 THEN _
  985.           RESUME NEXT
  986.        IF ERL = 13672 AND ERR = 61 THEN _
  987.           CALL QuickTPut1 ("Disk Full") : _
  988.           IF ZDiskFullGoOffline THEN _
  989.              GOTO 65010 _
  990.           ELSE RESUME NEXT
  991.        IF ERL = 13672 THEN _
  992.           ZCallersFileIndex! = ZCallersFileIndex! - 1 : _
  993.           RESUME NEXT
  994. '
  995. '     ZPrinter ERROR HANDLING
  996. '
  997.        IF ERL = 13674 THEN _
  998.           ZPrinter = ZFalse : _
  999.           RESUME
  1000. '
  1001. '     FindIt ERROR HANDLING
  1002. '
  1003.        IF ERL = 20221 THEN _
  1004.           RESUME NEXT
  1005.        IF ERL = 20223 AND ZErrCode = 58 THEN _
  1006.           ZErrCode = 64 : _
  1007.           ZOK = ZFalse : _
  1008.           RESUME NEXT
  1009.        IF ERL = 20223 AND ZErrCode = 76 THEN _
  1010.           CALL LPrnt("Bad path.  File name is " + FilName$,1) : _
  1011.           ZErrCode = 76 : _
  1012.           ZOK = ZFalse : _
  1013.           RESUME NEXT
  1014.        IF ERL => 20221 AND ERL <= 20223 AND ZErrCode = 70 _
  1015.           AND ZNetworkType = 6 THEN _
  1016.              ZErrCode = 0 : _
  1017.              RESUME NEXT
  1018.        IF ERL => 20221 AND ERL <= 20223 THEN _
  1019.           RESUME
  1020. '
  1021. '     FlushCom ERROR HANDLING
  1022. '
  1023.        IF ERL = 20310 AND ERR = 14 THEN _       'Pe 01/03/90
  1024.           RESUME NEXT                           'Pe 01/03/90
  1025.        IF ERL = 20311 AND ERR = 57 THEN _
  1026.           RESUME NEXT
  1027.        IF ERL = 20311 AND ERR = 69 THEN _
  1028.           ZAbort = ZTrue : _
  1029.           ZSubParm = -1 : _
  1030.           RESUME NEXT
  1031. '
  1032. '     NetBIOS ERROR HANDLING
  1033. '
  1034.        IF ERL => 29900 AND ERL <= 29920 THEN _
  1035.           RESUME NEXT
  1036. '
  1037. '     UpdateC ERROR HANDLING
  1038. '
  1039.       IF ERL => 43050 AND ERL <= 43060 AND ERR = 61 THEN _
  1040.          ZOutTxt$ = "* Disk full - terminating *" : _
  1041.          ZSubParm =2 : _
  1042.          CALL TPut : _
  1043.          IF ZDiskFullGoOffline THEN _
  1044.            GOTO 65010 _
  1045.          ELSE SYSTEM
  1046. '
  1047. '     CheckInt ERROR HANDLING
  1048. '
  1049.        IF (ERL = 59652 OR ERL = 59727) AND ERR = 24 THEN _
  1050.           ZNotCTS = ZTrue : _
  1051.           CALL Line25 : _
  1052.           ZErrCode = 0 : _
  1053.           RESUME
  1054.        IF ERL => 52000 AND ERL <= 59725 THEN _
  1055.           RESUME NEXT
  1056. '
  1057. '     FindFile ERROR HANDLING
  1058. '
  1059.        IF ERL = 59791 THEN _
  1060.           IF ERR = 57 THEN _
  1061.              CALL DelayTime (1) : _
  1062.              CALL UpdtCalr ("SLOW I/O ERROR",1) : _
  1063.              IOErrorCount = IOErrorCount + 1 : _
  1064.              IF IOErrorCount < 19 THEN _         'Was 11 Pe 08/05/92
  1065.                 RESUME
  1066. '
  1067. '* ------[ first line different ]------
  1068.  
  1069.       IF ERL = 59800 AND ERR = 70 THEN                               ' CHAT0805
  1070.          RESUME NEXT                                                 ' CHAT0805
  1071.       END IF                                                         ' CHAT0805
  1072. '                                                                    ' CHAT0805
  1073.       IF ERL = 59810 AND ERR = 70 THEN                               ' CHAT0805
  1074.          RESUME NEXT                                                 ' CHAT0805
  1075.       END IF                                                         ' CHAT0805
  1076. '
  1077. '
  1078. '      VIEW ARC TXT ERROR HANDLER
  1079. '
  1080.  IF ERL => 60140 AND ERR = 53 THEN _                              'Pe 10/20/91
  1081.          CALL QuickTPut1 ("ERROR ! No Such File, EXITING"):_
  1082.          RESUME NEXT
  1083. IF ERL => 60140 AND ERR = 63 THEN _                              'Pe 10/20/91
  1084.          CALL QuickTPut1 ("ERROR Occured, Please notify SysOp"):_
  1085.          RESUME NEXT
  1086. ' Pe 10/20/91
  1087. '
  1088. '
  1089. '     CATCH ALL OTHER ERRORS
  1090. '
  1091.        ZOutTxt$ = "RBBS-SUB1 Untrapped Error" + _
  1092.             STR$(ERR) + _
  1093.             " in line" + _
  1094.             STR$(ERL)
  1095.        CALL QuickTPut1 (ZOutTxt$)
  1096.        CALL UpdtCalr (ZOutTxt$,2)
  1097.        RESUME NEXT
  1098. '     SHARED ROUTINE FOR GOING OFF LINE WHEN DISK FULL
  1099.