home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / BM0406_A.ZIP / DOCS.ZIP / RFIX0704 < prev    next >
Text File  |  1993-03-06  |  30KB  |  803 lines

  1. ====[ Fixes to RBBS-PC 17.4  ]========
  2.  
  3. Last Mod:  KG012301
  4.  
  5. Note:  BASE is RBBS 17.4
  6.  
  7. CONVENTIONS:
  8.     The changes are assigned numbers that  correspond  to  the
  9.     month,  day, and order in which they were made.  Any mods
  10.     are dated following the modification  description.   The
  11.     lines   of   source   code  that  are  changed/modified/added  are
  12.     designated by the comment beginning in column 70 of "' iiMMDDnn"
  13.     where ii is the initials of the person providing the change
  14.     and nn is the number of the change (01, 02, ...).
  15.  
  16. Latest Downloadable Fixes:  RFIX0704.ZIP
  17. -------------------------------------------------------------------
  18. RBBS-PC.EXE         06-21-92   9:00 PM EST  Release of 17.4
  19. --------------------------------------------------------------------
  20.                             Summary
  21.  
  22. EXE   MOD       Short Description
  23. ---- --------   -----------------
  24. RBBS KG012301   Stacked commands not working right on conf join
  25. RBBS KG012001  In who command, show line speed   *** Not Implemented in
  26.                                                      STUNY ***
  27. RBBS KG011501  Don't automatically show menu when no such entry found
  28. RBBS KG011201  Allow CR's and message entry to be stacked in macros
  29. RBBS KG100701  Subboard allowed to change network type
  30. RBBS KG092301  Makes macros tolerate whether in turbo key mode
  31. RBBS KG092201  Records Line Speed that RBBS uses
  32. RBBS KG091002  Makes code more tolerant when reading FMS directories
  33. RBBS KG091001  Allows download personal files to be viewed  *** Not Implemented
  34.                                                                 in STUNY ***
  35. RBBS KG082201  Lets SysOp make pers upload to a security level  *** Modified in
  36.                                                                     STUNY ***
  37. RBBS KG082101  Possible for caller to regain banked time
  38. RBBS KG070401  UTIL.HLP refers to "B)aud change" not "B)ank time"
  39. RBBS RH070402  Get untrapped error when timeout looking at callers file
  40. RBBS RH070401  Possible for activity to be logged to wrong callers file
  41. RBBS BH070401  [CBAUD] sometimes not working with external protocol
  42. RBBS KG062401  Unable to download marked files in personal directory
  43. RBBS KG062301  Msg scan/topic scan not operating same as Read
  44.  
  45. Contributors include:
  46.  
  47.      BH - Bob Hampton
  48.      KG - Ken Goosens
  49.      RH - Ray Horton
  50.  
  51. ------------------------[ KG012301]-------------------------
  52.  
  53. Problem:  When join a conference, reading continuuously, being
  54. asked if want to check messages.  It is not possible to stack any
  55. answer to this prompt.
  56.  
  57. Solution:  Change RBBS-PC.BAS as follows:
  58.  
  59. 1895 IF TurboLogon OR ZNonStop THEN _                                ' KG012301
  60.         RETURN
  61.      ZOutTxt$ = "Check mail in " + ZConfName$ + " ([Y],N)"
  62.      GOSUB 12930                                                     ' KG012301
  63.      IF ZNo THEN _
  64.         SkipMain = ZTrue : _
  65.         RETURN
  66.      ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
  67.  
  68. ------------------------[ KG012001]-------------------------
  69.  
  70. Problem:  Who command showing the speed of caller as the pc-to-modem
  71. speed, rather than the line speed.
  72.  
  73.  
  74. *** Not implemented in the STUNY mods since this problem doesn't seem
  75.     to exist.  Could be due to two of the other mods incorporated...
  76.     the CONN174 or the FE174V10 mods. ***
  77.  
  78. ------------------------[ KG011501]-------------------------
  79.  
  80. Problem:  menu for an option is shown automatically when an option
  81. picked that does not exist, such as a conference.  The mistake is
  82. usually a misspelling versus ignorance of what options exist.  Therefore,
  83. don't automatically put the menu up.  If novice, put it up.  If expert,
  84. don't.  Caller can ask for a L)ist to get the list of options.  Was
  85. penalizing the misspeller too much.
  86.  
  87. Change RBBSSUB4.BAS as follows.
  88.  
  89. 59510 ZFileName$ = CurMenu$
  90.       InMenu = ZTrue
  91.       CALL BreakFileName (FrontOpt$,WasX$,FrontPre$,ZWasDF$,ZTrue)
  92.       CALL BreakFileName (CurMenu$,MenuDrv$,WasX$,ZWasDF$,ZTrue)
  93.       MenuFront$ = MenuDrv$ + LEFT$(WasX$,LEN(WasX$)-LEN(PreSuf$))
  94.       IF CurMenu$ = LastSubMenu$ THEN _
  95.          MenuFront$ = LEFT$(MenuFront$,LEN(MenuFront$)-1)
  96.       CALL Graphic (ZFileName$)
  97.       CurMenuVer$ = ZFileName$
  98.       ZStopInterrupts = ZFalse
  99. 59514 IF ZAnsIndex < ZLastIndex OR ZExpertUser THEN _                ' KG011501
  100.          GOTO 59520
  101.  
  102. 59532 GOSUB 59547
  103.       GOTO 59514                                                     ' KG011501
  104.  
  105. ------------------------[ KG011201]-------------------------
  106.  
  107. Enhancement:  Enhancements macro stack command ({ST) to stack carriage-
  108. returns using the "|" symbol.  Also, enhances the message section to
  109. support entering a message thru the macro stack.  This allows messages
  110. to be automatically generated by macros.
  111.  
  112. Change RBBS-PC.BAS as follows:
  113.  
  114. 2010 IF NOT QuotedReply THEN _
  115.         ZLinesInMsg = 0 : _                                          ' KG011201
  116.         WasL = 0 : _
  117.         WasX = 0 : _
  118.         REDIM ZOutTxt$(ZMsgDim)
  119.      IF ZGetExtDesc THEN _
  120.         GOTO 2100
  121.      GOSUB 1893
  122.      RcvrRecNum = 0
  123.  
  124. Change RBBSSUB2.BAS as follows:
  125.  
  126. 3730 IF TabToSpace > 0 THEN _
  127.         WasX$ = " " : _
  128.         TabToSpace = TabToSpace - 1 : _
  129.         GOTO 3750
  130.      CALL FindFKey
  131.      IF ZSubParm < 0 THEN _
  132.         EXIT SUB
  133.      WasX$ = ZKeyPressed$
  134.      IF WasX$ = "" THEN _
  135.         GOTO 3732 : _                                                ' KG011201
  136.         IF ZLocalUser THEN _
  137.            GOTO 3733 _
  138.         ELSE GOTO 3732
  139.      IF WasX$ = ZEscape$ THEN _
  140.         ZKeyPressed$ = WasX$ : _
  141.         EXIT SUB
  142.      SendRemote = ZTrue
  143.      WasZ = INSTR(ZLineEditChk$,WasX$)
  144.      IF WasZ < 1 THEN _
  145.         GOTO 3750 _
  146.      ELSE IF WasZ > 4 THEN _
  147.              GOTO 3870 _
  148.      ELSE IF WasZ = 1 THEN _
  149.              GOTO 3810
  150.      IF ZLocalUser THEN _
  151.         GOTO 3730
  152. * REPLACING old line(s) by new
  153. 3732 IF ZCommPortStack$ <> "" THEN _
  154.         WasX$ = LEFT$(ZCommPortStack$,1) : _
  155.         ZCommPortStack$ = RIGHT$(ZCommPortStack$,LEN(ZCommPortStack$)-1) : _
  156.         GOTO 3738
  157.      IF NOT ZLocalUser THEN _                                        ' KG011201
  158.         CALL EofComm (Char) : _                                      ' KG011201
  159.         IF Char <> -1 THEN _                                         ' KG011201
  160.            GOTO 3736                                                 ' KG011201
  161.  
  162. Change RBBSSUB5.BAS as follows:
  163.  
  164. 63355 CALL GlobalSrchRepl (WasX$,"|",ZCarriageReturn$,ZTrue)        ' KG011201
  165.       ZCommPortStack$ = ZCommPortStack$ + WasX$ + ZCarriageReturn$  ' STack
  166.       GOTO 63336
  167.  
  168. ------------------------[ KG100701]-------------------------
  169.  
  170. Problem:  Subboard def file is allowed to change the network
  171. type.
  172.  
  173. Solution:  Change RBBSSUB1.BAS as follows:
  174.  
  175. 117 IF ZSubParm <> -62 THEN _
  176.        IF PrevRead$ = ConfigFile$ THEN _
  177.           EXIT SUB _
  178.        ELSE PrevRead$ = ConfigFile$
  179.     CLOSE 2
  180.     ZBulletinSave$ = ZBulletinMenu$
  181.     CALL OpenWork (2,ConfigFile$)
  182.     ZCurDef$ = ConfigFile$
  183.     INPUT #2,ZWasDF$, _
  184.              ZDnldDrives$, _
  185.              ZSysopPswd1$, _
  186.              ZSysopPswd2$, _
  187.              ZSysopFirstName$, _
  188.              ZSysopLastName$, _
  189.              ZRequiredRings, _
  190.              ZStartOfficeHours, _
  191.              ZEndOfficeHours, _
  192.              ZMinsPerSession, _
  193.              ZWasDF, _
  194.              ZWasDF, _
  195.              ZUpldDir$, _
  196.              ZExpertUserDef, _
  197.              ZActiveBulletins, _
  198.              ZPromptBellDef, _
  199.              ZWasDF, _
  200.              ZMenusCanPause, _
  201.              ZMenu$(1), _
  202.              ZMenu$(2), _
  203.              ZMenu$(3), _
  204.              ZMenu$(4), _
  205.              ZMenu$(5), _
  206.              ZMenu$(6), _
  207.              ZConfMenu$, _
  208.              ZTestANSITime, _
  209.              ZWelcomeInterruptable, _
  210.              ZRemindFileXfers, _
  211.              ZPageLengthDef, _
  212.              ZMaxMsgLinesDef, _
  213.              ZDoorsAvail, _
  214.              ZWasDF$, _
  215.              ZMainMsgFile$, _
  216.              ZMainMsgBackup$
  217.     INPUT #2, WasX$, _
  218.               ZCmntsFile$, _
  219.               ZMainUserFile$, _
  220.               ZWelcomeFile$, _
  221.               ZNewUserFile$, _
  222.               ZMainDirExtension$
  223.     CALL BreakFileName (WasX$,ZWasY$,ZWasDF$,ZWasZ$,ZFalse)
  224.     IF ZWasDF$ <> "" THEN _
  225.        ZCallersFile$ = WasX$
  226.     INPUT #2, ZWasDF$
  227.     IF ZComPort$ <> "COM0" THEN _
  228.        IF NOT ZConfMode THEN _
  229.           ZComPort$ = ZWasDF$
  230.     INPUT #2, ZBulletinsOptional, _
  231.               ZModemInitCmd$, _
  232.               ZRTS$, _
  233.               ZCallersLst$, _
  234.               ZFG, _
  235.               ZBG, _
  236.               ZBorder
  237.     IF ZConfMode THEN _
  238.        INPUT #2, ZWasDF$, _
  239.                  ZWasDF$ _
  240.     ELSE INPUT #2, ZRBBSBat$ , _
  241.                    ZRCTTYBat$
  242.     INPUT #2,ZOmitMainDir$, _
  243.              ZFirstNamePrompt$, _
  244.              ZHelp$(3), _
  245.              ZHelp$(4), _
  246.              ZHelp$(7), _
  247.              ZHelp$(9), _
  248.              ZBulletinMenu$, _
  249.              ZBulletinPrefix$, _
  250.              ZWasDF$, _
  251.              ZMsgReminder, _
  252.              ZRequireNonASCII, _
  253.              ZAskExtendedDesc, _
  254.              ZMaxNodes                                               ' KG100701
  255.     IF ZConfMode THEN _                                              ' KG100701
  256.        INPUT #2, ZwasDF, ZwasDF _                                    ' KG100701
  257.     ELSE INPUT #2, ZNetworkType, _                                   ' KG100701
  258.                    ZRecycleToDos
  259.     INPUT #2,ZWasDF, _
  260.              ZWasDF, _
  261.              ZTrashcanFile$
  262.                 .
  263.                 .
  264.                 .
  265.  
  266. ------------------------[ KG092301]-------------------------
  267.  
  268. Enhancement.  This makes it possible to write macros so that they
  269. work the same reguardless of whether the user is in turbo-key mode.
  270. When passing keystrokes in a macro, simply begin them with "/".
  271. When the user is in turbo-key mode, this will simply suspend it
  272. for that line.   When not in turbo-key mode, this change will
  273. strip out a leading "/".   The effect will make the line work
  274. exactly the same.  Note:  if you want the macro to pass the "/"
  275. as a keystroke, simply add a space (" /" will have the
  276. same effect as "/" prior to this change).
  277.  
  278. Change RBBSSUB2.BAS as follows:
  279.  
  280. 1534 ZUserIn$ = ZOutTxt$   ' Not Macro command - pass to normal processing
  281. ' * strip off leading slash when not in turbokey mode so macros can be
  282. ' * written to work in both turbo and non-turbo-key mode
  283.      IF LEFT$(ZUserIn$,1) = "/" THEN IF NOT ZTurboKeyUser THEN _     ' KG092301
  284.         ZUserIn$ = RIGHT$(ZUserIn$,LEN(ZUserIn$)-1) : _              ' KG092301
  285.         ZTurboKey = ZFalse                                           ' KG092301
  286.      IF ZMacroEcho THEN _
  287.         ZSubParm = 4 : _
  288.         CALL TPut
  289.      WasX$ = ZCarriageReturn$
  290.      GOTO 1547
  291.  
  292. ------------------------[ KG092201]-------------------------
  293.  
  294. Problem:  RBBS gets the line speed but doesn't report it to the
  295. caller or log it to callers file.
  296.  
  297. Change RBBS-PC.BAS as follows:
  298.  
  299. 800 IF ZAdjustedSecurity THEN _
  300.        GOSUB 5135
  301.     IF ZOrigCnfg$ = ZCurDef$ THEN _
  302.        ZMainUserFileIndex = ZUserFileIndex : _
  303.        ZOrigSec = ZUserSecLevel : _
  304.        ZUserSecSave = ZUserSecLevel : _
  305.        ZOrigUserName$ = ZActiveUserName$
  306.     ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
  307.        ((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
  308.         (NOT ZPrivateDoor) AND (NOT ZExitToDoors))
  309.     GOSUB 9500
  310.     IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
  311.        CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
  312.                  " Lvl" + STR$(ZUserSecLevel) + " " + TIME$,2) : _   ' KG092201
  313.        CALL UpdtCalr ("Line Speed " + ZCBaud$,2)                     ' KG092201
  314.     PrevLastOn$ = ZLastDateTimeOn$
  315.     IF ZLocalUser THEN _
  316.        ZTalkToModemAt$ = "9600" : _
  317.        ZBaudParity$ = "9600 BPS,N,8,1" : _
  318.        ZModemInitBaud$ = "9600" : _
  319.        ZSnoop = ZTrue : _
  320.        ZLineFeeds = ZTrue
  321.     CALL SetCrLf
  322.     CALL SetPrompt
  323.     CALL XferType (2,ZTrue)
  324.     IF NOT ZSubBoard THEN _
  325.        BoardCheckDate$ = PrevLastOn$
  326.     CALL SetSysOp
  327.     IF ZWasA THEN _
  328.        ZActiveUserName$ = "SYSOP" : _
  329.        ZFirstName$ = "SysOp"
  330.     IF ZExitToDoors OR ZSubBoard THEN _
  331.        GOTO 815
  332.     GOSUB 465
  333.     IF (ZEightBit AND _
  334.        ZAutoDownDesired) OR _
  335.        ZAskID THEN _
  336.        CALL TestUser
  337.     CALL QuickTPut1 ("Logging " + ZActiveUserName$)
  338.     CALL Talk (1,ZOutTxt$)
  339.     Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
  340.     CALL QuickTPut1 ("RBBS-PC " + ZVersionID$ + " Node " + ZNodeID$) ' KG092201
  341.     CALL QuickTPut1 ("Line speed " + ZCBaud$  + "  Host operating at" + Temp$) ' KG092201
  342.     CALL SkipLine (1)
  343.     Attempts = 0
  344.     ZWasZ$ = ZActiveUserName$ + _
  345.             " on at " + _
  346.             ZCurDate$ + _
  347.             ", " + _
  348.             ZTime$ + _
  349.             " from " + _
  350.             ZWasCI$ + _
  351.             "," + Temp$
  352.      ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
  353. '
  354. ' *  ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
  355. '
  356.      WasX$ = "{" + _
  357.           HashValue$ + _
  358.           "/" + _
  359.           ZIndivValue$ + _
  360.           "}"
  361.      IF LEN(ZWasZ$) < 65 THEN _
  362.         WasX = 65 _
  363.      ELSE WasX = LEN(ZWasZ$) + 2
  364.      MID$(ZWasNG$,WasX) = WasX$
  365.      CALL Printit ("  " + ZWasZ$)
  366.      IF ZNewUser THEN _
  367.         CALL UpdtCalr ("NEWUSER",1) : _
  368.         CALL Muzak (2)
  369. '
  370. ' *****  NOTIFY CALLER IF ABLE TO "AUTODOWN"  ****
  371. '
  372.     IF ZEightBit AND ZAutoDownYes THEN _
  373.        ZOutTxt$ = CHR$(9) + _
  374.             ZReturnLineFeed$ + _
  375.             "You may use AUTODOWNLOADing!" : _
  376.        CALL RingCaller : _
  377.        CALL DelayTime(4)
  378.  
  379. ------------------------[ KG091002]-------------------------
  380.  
  381. Problem:  Possible to get an untrapped error when the FMS directory 
  382. being read does not match in length that specified in CONFIG.  This
  383. changes makes the FMS directory readable without error even when it
  384. does not match.
  385.  
  386. 58190 ' $SUBTITLE: 'OpenFMS - subroutine to open the FMS directory'
  387. ' $PAGE
  388. '
  389. '  NAME    -- OpenFMS
  390. '
  391. '  INPUTS  -- PARAMETER                      MEANING
  392. '             ZShareIt                DOS SHARING FLAG
  393. '             ZFMSDirectory$          NAME OF FMS DIRECTORY
  394. '
  395. '  OUTPUTS -- LastRec                NUMBER OF THE Last
  396. '                                    RECORD IN THE FILE
  397. '             CatLen                 Length of the category code
  398. '
  399. '  PURPOSE -- To open the upload directory as a random file and find
  400. '             the number of the last record in the file.
  401. '
  402.       SUB OpenFMS (LastRec,CatLen) STATIC
  403.       ON ERROR GOTO 65000
  404.       CLOSE 2
  405.       IF ZActiveFMSDir$ = "" THEN _
  406.          IF ZMenuIndex = 6 THEN _
  407.             ZActiveFMSDir$ = ZLibDir$ _
  408.          ELSE ZActiveFMSDir$ = ZFMSDirectory$
  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.  
  426. ------------------------[ KG091001]-------------------------
  427.  
  428. Problem:  When personal files are stored in the drive/path for personal
  429. files, and this drive/path is not in download areas, then the file can
  430. be downloaded but not viewed.   This makes those personal files viewed,
  431. but subject to the same constaints as downloading, so that when in
  432. the personal directory callers can view only those files listed and to
  433. them.   Note:  this change is an improvement on one submitted by
  434. Tom Hansen and Dan Shore.
  435.  
  436. *** Not implemented in STUNY - caused all sorts of problems with personal
  437.     uploads. ***
  438.  
  439.  
  440. ------------------------[ KG082201]-------------------------
  441.  
  442. Enhancement:  Lets the SysOp upload to a security level.
  443.  
  444. Change RBBSSUB2.BAS as follows:
  445.  
  446. 2032 RcvrRecNum = 0
  447.      IF MsgTo$ <> "ALL" THEN _
  448.         IF (LEFT$(MsgTo$,4) <> "ALL " AND ZStartHash = 1) THEN _
  449.            CALL CheckInt (MsgTo$) : _                                ' KG082201
  450.            IF ZTestedIntValue = 0 OR NOT ZSysOp THEN _               ' KG082201
  451.               ZWasDF = INSTR(MsgTo$+" @"," @") : _
  452.               TempHashValue$ = LEFT$(MsgTo$,ZWasDF-1) : _
  453.               CALL WhoCheck (TempHashValue$,Found,RcvrRecNum) : _
  454.               IF NOT Found THEN _
  455.                  ZLastIndex = 0 : _
  456.                  RcvrRecNum = 0 : _
  457.                  IF NOT ZReply THEN _
  458.                     ZOutTxt$ = "Send anyway (Y,[N])" : _
  459.                     ZTurboKey = -ZTurboKeyUser : _
  460.                     ZLastIndex = 0 : _
  461.                     GOSUB 2034 : _
  462.                     IF NOT ZYes THEN _
  463.                        GOTO 2021
  464.      IF MsgTo$ = Temp$ THEN _
  465.         ZOutTxt$ = "Really send this to YOURSELF (Y,[N])" : _
  466.         ZLastIndex = 0 : _
  467.         GOSUB 2034 : _
  468.         IF NOT ZYes THEN _
  469.            MsgTo$ = ""
  470.      CALL OpenWorkA (ZNodeWorkFile$)
  471.      CALL PrintWorkA (MsgTo$ + "," + STR$(RcvrRecNum))
  472.      CLOSE 2
  473.      ZNumHeaders = ZNumHeaders + 1
  474.      IF EnableCC AND (NOT ZReply) AND MsgTo$ <> "ALL" AND _
  475.         MsgTo$ <> "" AND LEFT$(MsgTo$,4) <> "ALL " AND _
  476.         (NOT ZSysopComment) AND (NOT ZSysopMsg) THEN _
  477.            ZOutTxt$ = "Carbon copy to another (Y,[N])" : _
  478.            CALL PopCmdStack : _
  479.            IF ZYes THEN _
  480.               GOTO 2021
  481.  
  482. Change RBBSSUB3.BAS as follows:
  483.  
  484. 20717 CALL FindItX (ZNodeWorkFile$,7)
  485.       ZUserIn$ = Desc$
  486.       WasX$ = DATE$
  487.       ZWasZ$ = LEFT$(WasX$,6) + _
  488.            RIGHT$(WasX$,2)
  489.       ZWasEN$ = ZPersonalDir$
  490.       NumPersonals = 0
  491.       IF NOT ZOK THEN _
  492.          GOTO 20718
  493.       UserFileIndexSave = ZUserFileIndex
  494.       UserRecordHold$ = ZUserRecord$
  495.       WHILE NOT EOF(7)
  496.          CALL ReadParmsX (7,ZWorkAra$(),2,1)
  497.          IF LEFT$(ZWorkAra$(1),4) <> "ALL " AND ZWorkAra$(1) <> "ALL" THEN _
  498.             NumPersonals = NumPersonals + 1 : _
  499.             UCat$ = ZWorkAra$(1) : _
  500.             GOSUB 20737 : _                                          ' KG082201
  501.             GOSUB 20728 : _
  502.             RcvrRecNum = VAL (ZWorkAra$(2)) : _
  503.             CALL SetUserFlag (RcvrRecNum,4096,"file")
  504.       WEND
  505.       CLOSE 7
  506.       IF NumPersonals > 0 THEN _
  507.          ZUserFileIndex = UserFileIndexSave : _
  508.          LSET ZUserRecord$ = UserRecordHold$ : _
  509.          GOTO 20723
  510.  
  511. 20736 IF NOT ZOK THEN _
  512.          ZBytesInFile# = 0.0_
  513.       ELSE ZBytesInFile# = LOF(2)
  514.       IF ZBytesInFile# < 2.0 THEN _
  515.          EXIT SUB
  516.       RETURN                                                         ' KG082201
  517. 20737 CALL CheckInt (UCat$)                                          ' KG082201
  518.       IF ZTestedIntValue > 0 THEN _                                  ' KG082201
  519.          UCat$ = " " + UCat$                                         ' KG082201
  520.       RETURN                                                         ' KG082201
  521.       END SUB
  522.  
  523.  
  524. *** Modified in STUNY to prevent the SysOp from entering messages to a user
  525.     named as a security level. ***
  526.  
  527.  
  528. ------------------------[ KG082101]-------------------------
  529.  
  530. Problem:  Possible for caller to regain banked time.   Also, the
  531. session limit specified in a subboard config may fail to get
  532. applied.
  533.  
  534. Solution:  Change RBBSSUB2.BAS as follows:
  535.  
  536. 120 '  $SUBTITLE: 'EditDef - sub to edit config parameters'
  537. '  $PAGE
  538. '
  539. '  NAME    -- EditDef
  540. '
  541. '  INPUTS  --     PARAMETER                    MEANING
  542. '
  543. '  OUTPUTS --                          OUTPUT STRING
  544. '
  545. '  PURPOSE -- Interpretes and adjusts stored configuration parameters
  546. '
  547.       SUB EditDef STATIC
  548.       ZMinsPerSessionDef = ZMinsPerSession                           ' KG082101
  549.       ZAllOpts$ = ZMainCmds$ + _
  550.                   ZFileCmd$ + _
  551.                   ZUtilCmds$ + _
  552.                   ZLibCmds$ + _
  553.                   ZGlobalCmnds$ + _
  554.                   ZSysopCmds$
  555.                      .
  556.                      .
  557.                      .
  558.  
  559. 5503 IF SignTime = 1 THEN _
  560.         ZOutTxt$ = "Withdraw" _
  561.      ELSE ZOutTxt$ = "Deposit"
  562.      Temp$ = ZOutTxt$ + " how many mins"
  563.      CALL ChangeInt (ZFalse,Temp$,Temp,0,Maxtime)
  564.      IF ZWasQ = 0 OR ZTestedIntValue = 0 THEN _
  565.         GOTO 5501
  566.      ZTestedIntValue = SignTime * ZTestedIntValue
  567.      CALL ChkAddedTime (ZTestedIntValue)
  568.      IF ZTestedIntValue = 0 THEN _
  569.         GOTO 5501
  570.      ZSecsPerSession! = ZSecsPerSession! + (ZTestedIntValue * 60)
  571.      IF ZMaxPerDay = 0 THEN _                                        ' KG082101
  572.         ZTimeCredits! = ZTimeCredits! + ZTestedIntValue * 60         ' KG082101
  573.      ZElapsedTime = ZElapsedTime - ZTestedIntValue
  574.      ZGlobalBankTime = ZGlobalBankTime - ZTestedIntValue
  575.      GOSUB 5507
  576.      GOTO 5501
  577.  
  578. ------------------------[ KG070401]-------------------------
  579.  
  580. Problem:  The UTIL.HLP refers to "B)aud change" when this has
  581. become "B)ank time".
  582.  
  583. Solution:  a replacement UTIL.HLP is provided.
  584.  
  585. ------------------------[ RH070402]-------------------------
  586.  
  587. Problem:  When viewing a callers file and timeout at the More prompt,
  588. get untrapped error.
  589.  
  590. Solution:  Change RBBSSUB3.BAS as follows:
  591.  
  592. 57100 IF INSTR(ZOutTxt$,"LOGON DENIED") OR INSTR(ZOutTxt$,"Lvl ")THEN _
  593.          IF NOT ZSysOp THEN _
  594.             RETURN
  595.       IF ZJumpSearching THEN _
  596.          ZWasDF$ = ZOutTxt$ : _
  597.          CALL AllCaps (ZWasDF$) : _
  598.          IF INSTR(ZWasDF$,ZJumpTo$) = 0 THEN _
  599.             RETURN _
  600.          ELSE CALL CheckColor (ZOutTxt$,ZJumpTo$,"") : _
  601.               ZJumpSearching = ZFalse
  602.       ZSubParm = 5
  603.       CALL TPut
  604.       WasX = 1
  605.       CALL AskMore ("",ZTrue,ZTrue,WasX,ZFalse)
  606.       IF ZSubParm = -1 THEN _                                        ' RH070402
  607.          GOTO 57102 _                                                ' RH070402
  608.       ELSE IF ZNo THEN _                                             ' RH070402
  609.          GOTO 57101                                                  ' RH070402
  610.       RETURN
  611.  
  612. ------------------------[ RH070401]-------------------------
  613.  
  614. Problem:  When SysOp views callers file on another node, thereafter
  615. his own logging to caller's file goes to the other node's callers.
  616.  
  617. Solution:  Change RBBSSUB3.BAS as follows:
  618.  
  619. 57102 ZJumpSupported = ZFalse
  620.       IF OrigCal$ <> ZCallersFile$ THEN _                            ' RH070401
  621.          ZCallersFile$ = OrigCal$ : _
  622.          CALL SetCall
  623.       END SUB
  624.  
  625. ------------------------[ BH070401]-------------------------
  626.  
  627. Problem:  "[CBAUD]" can include a leading blank, which causes it not
  628. to work with some external protocols, like HSLink.
  629.  
  630. Solution:  Change RBBSSUB2.BAS as follows:
  631.  
  632. (line 1654)
  633.  
  634.             .
  635.             .
  636.             .
  637.       SUB SetBaud STATIC
  638.      IF ZCBaud$ = "" THEN _
  639.         ZCBaud$ = MID$(ZBaudRates$,(-5 * ZBPS),5) : _                ' BH070401
  640.         CALL Trim (ZCBaud$)                                          ' BH070401
  641.      Temp! = VAL(ZCBaud$)
  642.             .
  643.             .
  644.             .
  645.  
  646. ------------------------[ KG062401]-------------------------
  647.  
  648. Problem:  When say to download marked files in a personal directory,
  649. says unable to find "M".
  650.  
  651. Solution:  Change RBBSSUB3.BAS as follows:
  652.  
  653. 58181 MarkingFiles = ZFalse
  654.       IF (WasX$ = "D" OR WasX$ = "M") THEN IF CanDnld THEN _
  655.          MarkingFiles = (WasX$ = "M") : _
  656.          CALL AskItems ("DM",WasX$,ZTrue,"file",ZMarkedFiles$) : _   ' KG062401
  657.          IF ZWasQ = 0 THEN _
  658.             GOTO 58183
  659.       IF WasX$ = "*" THEN IF ZPersonalDnld THEN _
  660.          GOTO 58193
  661.  
  662. 58188 IF ProcessedNew OR MarkingFiles OR NOT ZListOnly THEN _
  663.          ProcessedNew = ZFalse : _
  664.          RETURN
  665.       ZUserIn$(0) = ""
  666.       WasI = ZAnsIndex              ' check whether in dir
  667.       WHILE WasI <= ZLastIndex
  668.          CALL AraAllCaps (ZUserIn$(),WasI)
  669.          ZWasZ$ = ZUserIn$(WasI)
  670.          CALL UnMarkItems (ZMarkedFiles$,WasI,ZLastIndex,WasX,ZTrue)
  671.          Temp$ = ZUserIn$(WasI)
  672.          CALL AllCaps (Temp$)                                        ' KG062401
  673. 'print "wasi=";wasi;" temp$=<";temp$;"> Zdef=<";zdefaultxfer$;">"
  674.          IsProto = (LEN(Temp$) = 1 AND _
  675.                     INSTR(ZDefaultXfer$,Temp$) > 0)
  676.          ZOK = IsProto
  677.          WasJ = LastRec + 1
  678.          WasX = INSTR(Temp$,".")
  679.          AltTemp$ = ""
  680.          IF NOT IsProto THEN _
  681.             IF WasX = 0 THEN _
  682.                AltTemp$ = Temp$ + "." + ZDefaultExtension$ _
  683.             ELSE IF WasX = LEN(Temp$) THEN _
  684.                     AltTemp$ = LEFT$(Temp$,WasX-1)
  685. 'print "58188 b4 while zok=";zok;" wasj=";wasj;" looking for <";temp$;">"
  686.          WHILE WasJ > 1 AND NOT ZOK
  687.             WasJ = WasJ - 1
  688.             GET #2,WasJ
  689.             GOSUB 58191
  690. 'print "bk 58191 canget=";catget;" ptp<";parttoprint$;">";:input xx$
  691.             IF CanGet THEN _
  692.                MID$(PartToPrint$,13,1) = " " : _
  693.                WasX$ = LEFT$(PartToPrint$,INSTR(PartToPrint$," ") - 1) : _
  694.                ZOK = (Temp$ = WasX$) : _
  695.                IF NOT ZOK THEN _
  696.                   IF AltTemp$ <> "" THEN _
  697.                      ZOK = (AltTemp$ = WasX$)
  698.          WEND
  699. 'print "58188 aft while zok=";zok;" wasj=";wasj;" looking for <";temp$;">":input xxx$
  700.          IF ZOK THEN _
  701.             GOSUB 58189 : _
  702.             IF ZOK OR IsProto THEN _
  703.                WasX$ = MID$(STR$(WasJ),2) : _
  704.                ZUserIn$(0) = ZUserIn$(0) + _
  705.                        WasX$ + _
  706.                        SPACE$(5 - LEN(WasX$))
  707.          IF NOT ZOK AND NOT IsProto THEN _
  708.             CALL QuickTPut1 (ZWasZ$ + " not found - omitted") : _
  709.             FOR WasK = WasI + 1 TO ZLastIndex : _
  710.                ZUserIn$(WasK - 1) = ZUserIn$(WasK) : _
  711.             NEXT : _
  712.             ZLastIndex = ZLastIndex - 1 : _
  713.             WasI = WasI - 1
  714.          WasI = WasI + 1
  715.       WEND
  716.       ZWasQ = ZLastIndex
  717. 'print "end 58188 zlastindex=";zlastindex;" zok=";zok
  718.       RETURN
  719.  
  720. ------------------------[ KG062301]-------------------------
  721.  
  722. Problem:  When you stack message numbers, Read reads exactly those
  723. messages.   But S)can and T)opic do not confine themselves to the
  724. numbers.  Instead, "s 5" acts like "s 5+".
  725.  
  726. Solution:  Change RBBS-PC.BAS as follows:
  727.  
  728. 4380 WasA1$ = "Msg #" + _
  729.            STR$(LowMsgNumber) + _
  730.            "-" + _
  731.            MID$(STR$(ZMsgPtr(ActiveMessages,2)),2) + _
  732.            " (H)lp,S)ince,L)ast" + _
  733.            LEFT$(",G)lobal",8*(ZLinkedConf$ ="" OR ZGlobalRead)+8)
  734.      CALL SkipLine (-QuickScanMsgs)                                  ' KG062301
  735.      IF ZGlobalRead THEN _
  736.         CALL QuickTPut1 ("Reading globally")
  737.      IF AddressedToUser OR ToRequested OR FromRequested THEN _
  738.         ZWasY$ = LEFT$("TO",-2*(ToRequested OR AddressedToUser)) + _
  739.              LEFT$("/",-AddressedToUser) + _
  740.              LEFT$("FROM",-4*(FromRequested OR AddressedToUser)) : _
  741.         CALL QuickTPut1 ("Include only msgs "+ZWasY$+" you.  Read what msgs (? for help)") _
  742.      ELSE WasA1$ = WasA1$ + ",T)o,F)rom,M)" : _
  743.           IF ReadMsgs AND ZMarkedMsgs$ <> "" THEN _
  744.              WasA1$ = WasA1$ + "arked" _
  745.           ELSE WasA1$ = WasA1$ + "ine"
  746.      IF SearchString$ = "" THEN _
  747.         WasA1$ = WasA1$ + _
  748.              ", text" _
  749.      ELSE CALL QuickTPut1 ("Include only msgs with text " + SearchString$ + ".  Read what msgs (? for help)")
  750.  
  751. 4418 ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
  752.      IF ZWasA > 0 THEN _
  753.         ToRequested = (ZWasA > 2) : _
  754.         FromRequested = (ZWasA < 3) : _
  755.         GOTO 4370
  756.      IF CurMsg = 0 THEN _
  757.         IF SearchHeader$ <> "" THEN _
  758.            GOTO 4370 _
  759.         ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _
  760.              SearchCt = 0 : _
  761.              CALL AllCaps (SearchString$) : _
  762.              CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
  763.              SearchHeader$ = SearchString$ : _
  764.              SubInHeader$ = SearchHeader$ : _
  765.              GOTO 4370
  766.      CALL SkipLine (-ReadMsgs)                                       ' KG062301
  767.  
  768. 4630   CALL AskMore (",M)ark, #(s) to read",ZTrue,ZTrue,WasXX,ZFalse)
  769.        IF ZWasQ = 0 OR ZYes THEN _
  770.           GOTO 4631
  771.        IF ZNo THEN _
  772.           RETURN
  773.        IF ZSubParm = -1 THEN _
  774.           RETURN 10595
  775.        IF ZRet THEN _
  776.           RETURN
  777.        ZWasZ$ = ZUserIn$(1)
  778.        CALL AllCaps (ZWasZ$)
  779.        IF ZWasZ$ = "M" THEN _
  780.           ZLastIndex = ZWasQ : _
  781.           ZAnsIndex = 1 : _
  782.           CALL AskItems ("M",ZWasZ$,ZTrue,"msg",ZMarkedMsgs$)
  783.        IF VAL(ZWasZ$) > 0 THEN _
  784.           FOR WasI = ZWasQ TO 1 STEP -1 : _
  785.              ZUserIn$(WasI + 1) = ZUserIn$(WasI) : _
  786.           NEXT : _
  787.           ZUserIn$(1) = MID$(ZAllOpts$,INSTR(ZOrigCommands$,"R"),1) : _
  788.           ZLastIndex = ZWasQ + 1 : _
  789.           ZAnsIndex = 1 : _
  790.           RETURN 1235                                                ' KG062301
  791. 4631   IF NOT Forward AND NOT Reverse THEN _                         ' KG062301
  792.           GOTO 4370                                                  ' KG062301
  793.         CALL CheckCarrier                                            ' KG062301
  794.        IF ZSubParm THEN _
  795.           RETURN 10595
  796.        IF ZRet THEN _
  797.           RETURN
  798.  
  799. ========================[ STUNY ]=========================
  800.  
  801. Original BULLET6 file dated 012493
  802.  
  803.