home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
BBS_UTIL
/
BM0406_A.ZIP
/
DOCS.ZIP
/
RFIX0704
< prev
next >
Wrap
Text File
|
1993-03-06
|
30KB
|
803 lines
====[ Fixes to RBBS-PC 17.4 ]========
Last Mod: KG012301
Note: BASE is RBBS 17.4
CONVENTIONS:
The changes are assigned numbers that correspond to the
month, day, and order in which they were made. Any mods
are dated following the modification description. The
lines of source code that are changed/modified/added are
designated by the comment beginning in column 70 of "' iiMMDDnn"
where ii is the initials of the person providing the change
and nn is the number of the change (01, 02, ...).
Latest Downloadable Fixes: RFIX0704.ZIP
-------------------------------------------------------------------
RBBS-PC.EXE 06-21-92 9:00 PM EST Release of 17.4
--------------------------------------------------------------------
Summary
EXE MOD Short Description
---- -------- -----------------
RBBS KG012301 Stacked commands not working right on conf join
RBBS KG012001 In who command, show line speed *** Not Implemented in
STUNY ***
RBBS KG011501 Don't automatically show menu when no such entry found
RBBS KG011201 Allow CR's and message entry to be stacked in macros
RBBS KG100701 Subboard allowed to change network type
RBBS KG092301 Makes macros tolerate whether in turbo key mode
RBBS KG092201 Records Line Speed that RBBS uses
RBBS KG091002 Makes code more tolerant when reading FMS directories
RBBS KG091001 Allows download personal files to be viewed *** Not Implemented
in STUNY ***
RBBS KG082201 Lets SysOp make pers upload to a security level *** Modified in
STUNY ***
RBBS KG082101 Possible for caller to regain banked time
RBBS KG070401 UTIL.HLP refers to "B)aud change" not "B)ank time"
RBBS RH070402 Get untrapped error when timeout looking at callers file
RBBS RH070401 Possible for activity to be logged to wrong callers file
RBBS BH070401 [CBAUD] sometimes not working with external protocol
RBBS KG062401 Unable to download marked files in personal directory
RBBS KG062301 Msg scan/topic scan not operating same as Read
Contributors include:
BH - Bob Hampton
KG - Ken Goosens
RH - Ray Horton
------------------------[ KG012301]-------------------------
Problem: When join a conference, reading continuuously, being
asked if want to check messages. It is not possible to stack any
answer to this prompt.
Solution: Change RBBS-PC.BAS as follows:
1895 IF TurboLogon OR ZNonStop THEN _ ' KG012301
RETURN
ZOutTxt$ = "Check mail in " + ZConfName$ + " ([Y],N)"
GOSUB 12930 ' KG012301
IF ZNo THEN _
SkipMain = ZTrue : _
RETURN
ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
------------------------[ KG012001]-------------------------
Problem: Who command showing the speed of caller as the pc-to-modem
speed, rather than the line speed.
*** Not implemented in the STUNY mods since this problem doesn't seem
to exist. Could be due to two of the other mods incorporated...
the CONN174 or the FE174V10 mods. ***
------------------------[ KG011501]-------------------------
Problem: menu for an option is shown automatically when an option
picked that does not exist, such as a conference. The mistake is
usually a misspelling versus ignorance of what options exist. Therefore,
don't automatically put the menu up. If novice, put it up. If expert,
don't. Caller can ask for a L)ist to get the list of options. Was
penalizing the misspeller too much.
Change RBBSSUB4.BAS as follows.
59510 ZFileName$ = CurMenu$
InMenu = ZTrue
CALL BreakFileName (FrontOpt$,WasX$,FrontPre$,ZWasDF$,ZTrue)
CALL BreakFileName (CurMenu$,MenuDrv$,WasX$,ZWasDF$,ZTrue)
MenuFront$ = MenuDrv$ + LEFT$(WasX$,LEN(WasX$)-LEN(PreSuf$))
IF CurMenu$ = LastSubMenu$ THEN _
MenuFront$ = LEFT$(MenuFront$,LEN(MenuFront$)-1)
CALL Graphic (ZFileName$)
CurMenuVer$ = ZFileName$
ZStopInterrupts = ZFalse
59514 IF ZAnsIndex < ZLastIndex OR ZExpertUser THEN _ ' KG011501
GOTO 59520
59532 GOSUB 59547
GOTO 59514 ' KG011501
------------------------[ KG011201]-------------------------
Enhancement: Enhancements macro stack command ({ST) to stack carriage-
returns using the "|" symbol. Also, enhances the message section to
support entering a message thru the macro stack. This allows messages
to be automatically generated by macros.
Change RBBS-PC.BAS as follows:
2010 IF NOT QuotedReply THEN _
ZLinesInMsg = 0 : _ ' KG011201
WasL = 0 : _
WasX = 0 : _
REDIM ZOutTxt$(ZMsgDim)
IF ZGetExtDesc THEN _
GOTO 2100
GOSUB 1893
RcvrRecNum = 0
Change RBBSSUB2.BAS as follows:
3730 IF TabToSpace > 0 THEN _
WasX$ = " " : _
TabToSpace = TabToSpace - 1 : _
GOTO 3750
CALL FindFKey
IF ZSubParm < 0 THEN _
EXIT SUB
WasX$ = ZKeyPressed$
IF WasX$ = "" THEN _
GOTO 3732 : _ ' KG011201
IF ZLocalUser THEN _
GOTO 3733 _
ELSE GOTO 3732
IF WasX$ = ZEscape$ THEN _
ZKeyPressed$ = WasX$ : _
EXIT SUB
SendRemote = ZTrue
WasZ = INSTR(ZLineEditChk$,WasX$)
IF WasZ < 1 THEN _
GOTO 3750 _
ELSE IF WasZ > 4 THEN _
GOTO 3870 _
ELSE IF WasZ = 1 THEN _
GOTO 3810
IF ZLocalUser THEN _
GOTO 3730
* REPLACING old line(s) by new
3732 IF ZCommPortStack$ <> "" THEN _
WasX$ = LEFT$(ZCommPortStack$,1) : _
ZCommPortStack$ = RIGHT$(ZCommPortStack$,LEN(ZCommPortStack$)-1) : _
GOTO 3738
IF NOT ZLocalUser THEN _ ' KG011201
CALL EofComm (Char) : _ ' KG011201
IF Char <> -1 THEN _ ' KG011201
GOTO 3736 ' KG011201
Change RBBSSUB5.BAS as follows:
63355 CALL GlobalSrchRepl (WasX$,"|",ZCarriageReturn$,ZTrue) ' KG011201
ZCommPortStack$ = ZCommPortStack$ + WasX$ + ZCarriageReturn$ ' STack
GOTO 63336
------------------------[ KG100701]-------------------------
Problem: Subboard def file is allowed to change the network
type.
Solution: Change RBBSSUB1.BAS as follows:
117 IF ZSubParm <> -62 THEN _
IF PrevRead$ = ConfigFile$ THEN _
EXIT SUB _
ELSE PrevRead$ = ConfigFile$
CLOSE 2
ZBulletinSave$ = ZBulletinMenu$
CALL OpenWork (2,ConfigFile$)
ZCurDef$ = ConfigFile$
INPUT #2,ZWasDF$, _
ZDnldDrives$, _
ZSysopPswd1$, _
ZSysopPswd2$, _
ZSysopFirstName$, _
ZSysopLastName$, _
ZRequiredRings, _
ZStartOfficeHours, _
ZEndOfficeHours, _
ZMinsPerSession, _
ZWasDF, _
ZWasDF, _
ZUpldDir$, _
ZExpertUserDef, _
ZActiveBulletins, _
ZPromptBellDef, _
ZWasDF, _
ZMenusCanPause, _
ZMenu$(1), _
ZMenu$(2), _
ZMenu$(3), _
ZMenu$(4), _
ZMenu$(5), _
ZMenu$(6), _
ZConfMenu$, _
ZTestANSITime, _
ZWelcomeInterruptable, _
ZRemindFileXfers, _
ZPageLengthDef, _
ZMaxMsgLinesDef, _
ZDoorsAvail, _
ZWasDF$, _
ZMainMsgFile$, _
ZMainMsgBackup$
INPUT #2, WasX$, _
ZCmntsFile$, _
ZMainUserFile$, _
ZWelcomeFile$, _
ZNewUserFile$, _
ZMainDirExtension$
CALL BreakFileName (WasX$,ZWasY$,ZWasDF$,ZWasZ$,ZFalse)
IF ZWasDF$ <> "" THEN _
ZCallersFile$ = WasX$
INPUT #2, ZWasDF$
IF ZComPort$ <> "COM0" THEN _
IF NOT ZConfMode THEN _
ZComPort$ = ZWasDF$
INPUT #2, ZBulletinsOptional, _
ZModemInitCmd$, _
ZRTS$, _
ZCallersLst$, _
ZFG, _
ZBG, _
ZBorder
IF ZConfMode THEN _
INPUT #2, ZWasDF$, _
ZWasDF$ _
ELSE INPUT #2, ZRBBSBat$ , _
ZRCTTYBat$
INPUT #2,ZOmitMainDir$, _
ZFirstNamePrompt$, _
ZHelp$(3), _
ZHelp$(4), _
ZHelp$(7), _
ZHelp$(9), _
ZBulletinMenu$, _
ZBulletinPrefix$, _
ZWasDF$, _
ZMsgReminder, _
ZRequireNonASCII, _
ZAskExtendedDesc, _
ZMaxNodes ' KG100701
IF ZConfMode THEN _ ' KG100701
INPUT #2, ZwasDF, ZwasDF _ ' KG100701
ELSE INPUT #2, ZNetworkType, _ ' KG100701
ZRecycleToDos
INPUT #2,ZWasDF, _
ZWasDF, _
ZTrashcanFile$
.
.
.
------------------------[ KG092301]-------------------------
Enhancement. This makes it possible to write macros so that they
work the same reguardless of whether the user is in turbo-key mode.
When passing keystrokes in a macro, simply begin them with "/".
When the user is in turbo-key mode, this will simply suspend it
for that line. When not in turbo-key mode, this change will
strip out a leading "/". The effect will make the line work
exactly the same. Note: if you want the macro to pass the "/"
as a keystroke, simply add a space (" /" will have the
same effect as "/" prior to this change).
Change RBBSSUB2.BAS as follows:
1534 ZUserIn$ = ZOutTxt$ ' Not Macro command - pass to normal processing
' * strip off leading slash when not in turbokey mode so macros can be
' * written to work in both turbo and non-turbo-key mode
IF LEFT$(ZUserIn$,1) = "/" THEN IF NOT ZTurboKeyUser THEN _ ' KG092301
ZUserIn$ = RIGHT$(ZUserIn$,LEN(ZUserIn$)-1) : _ ' KG092301
ZTurboKey = ZFalse ' KG092301
IF ZMacroEcho THEN _
ZSubParm = 4 : _
CALL TPut
WasX$ = ZCarriageReturn$
GOTO 1547
------------------------[ KG092201]-------------------------
Problem: RBBS gets the line speed but doesn't report it to the
caller or log it to callers file.
Change RBBS-PC.BAS as follows:
800 IF ZAdjustedSecurity THEN _
GOSUB 5135
IF ZOrigCnfg$ = ZCurDef$ THEN _
ZMainUserFileIndex = ZUserFileIndex : _
ZOrigSec = ZUserSecLevel : _
ZUserSecSave = ZUserSecLevel : _
ZOrigUserName$ = ZActiveUserName$
ZTimesLoggedOn = CVI(MID$(ZUserOption$,1,2)) - _
((ZOrigCnfg$ <> ZCurDef$ OR NOT ZSubBoard) AND _
(NOT ZPrivateDoor) AND (NOT ZExitToDoors))
GOSUB 9500
IF (NOT ZExitToDoors) AND (NOT ZSubBoard) THEN _
CALL UpdtCalr (ZActiveUserName$ + " from " + ZWasCI$ + _
" Lvl" + STR$(ZUserSecLevel) + " " + TIME$,2) : _ ' KG092201
CALL UpdtCalr ("Line Speed " + ZCBaud$,2) ' KG092201
PrevLastOn$ = ZLastDateTimeOn$
IF ZLocalUser THEN _
ZTalkToModemAt$ = "9600" : _
ZBaudParity$ = "9600 BPS,N,8,1" : _
ZModemInitBaud$ = "9600" : _
ZSnoop = ZTrue : _
ZLineFeeds = ZTrue
CALL SetCrLf
CALL SetPrompt
CALL XferType (2,ZTrue)
IF NOT ZSubBoard THEN _
BoardCheckDate$ = PrevLastOn$
CALL SetSysOp
IF ZWasA THEN _
ZActiveUserName$ = "SYSOP" : _
ZFirstName$ = "SysOp"
IF ZExitToDoors OR ZSubBoard THEN _
GOTO 815
GOSUB 465
IF (ZEightBit AND _
ZAutoDownDesired) OR _
ZAskID THEN _
CALL TestUser
CALL QuickTPut1 ("Logging " + ZActiveUserName$)
CALL Talk (1,ZOutTxt$)
Temp$ = STR$(ZBaudTest!) + MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
CALL QuickTPut1 ("RBBS-PC " + ZVersionID$ + " Node " + ZNodeID$) ' KG092201
CALL QuickTPut1 ("Line speed " + ZCBaud$ + " Host operating at" + Temp$) ' KG092201
CALL SkipLine (1)
Attempts = 0
ZWasZ$ = ZActiveUserName$ + _
" on at " + _
ZCurDate$ + _
", " + _
ZTime$ + _
" from " + _
ZWasCI$ + _
"," + Temp$
ZWasNG$ = ZWasZ$ + SPACE$(128 - LEN(ZWasZ$))
'
' * ALWAYS RECORD THE HASH/INDIVIDUATING FIELD TO EACH RECORD LOGGED OUT
'
WasX$ = "{" + _
HashValue$ + _
"/" + _
ZIndivValue$ + _
"}"
IF LEN(ZWasZ$) < 65 THEN _
WasX = 65 _
ELSE WasX = LEN(ZWasZ$) + 2
MID$(ZWasNG$,WasX) = WasX$
CALL Printit (" " + ZWasZ$)
IF ZNewUser THEN _
CALL UpdtCalr ("NEWUSER",1) : _
CALL Muzak (2)
'
' ***** NOTIFY CALLER IF ABLE TO "AUTODOWN" ****
'
IF ZEightBit AND ZAutoDownYes THEN _
ZOutTxt$ = CHR$(9) + _
ZReturnLineFeed$ + _
"You may use AUTODOWNLOADing!" : _
CALL RingCaller : _
CALL DelayTime(4)
------------------------[ KG091002]-------------------------
Problem: Possible to get an untrapped error when the FMS directory
being read does not match in length that specified in CONFIG. This
changes makes the FMS directory readable without error even when it
does not match.
58190 ' $SUBTITLE: 'OpenFMS - subroutine to open the FMS directory'
' $PAGE
'
' NAME -- OpenFMS
'
' INPUTS -- PARAMETER MEANING
' ZShareIt DOS SHARING FLAG
' ZFMSDirectory$ NAME OF FMS DIRECTORY
'
' OUTPUTS -- LastRec NUMBER OF THE Last
' RECORD IN THE FILE
' CatLen Length of the category code
'
' PURPOSE -- To open the upload directory as a random file and find
' the number of the last record in the file.
'
SUB OpenFMS (LastRec,CatLen) STATIC
ON ERROR GOTO 65000
CLOSE 2
IF ZActiveFMSDir$ = "" THEN _
IF ZMenuIndex = 6 THEN _
ZActiveFMSDir$ = ZLibDir$ _
ELSE ZActiveFMSDir$ = ZFMSDirectory$
OldFile = (ZActiveFMSDir$ = PrevFMS$)
IF OldFile THEN _
GOTO 58192
CALL OpenWork (2,ZActiveFMSDir$)
CALL ReadDir (2,1)
IF ZErrCode > 0 OR LEN(ZOutTxt$) < 37 THEN _ ' KG091002
IF ZActiveFMSDir$ = ZPersonalDir$ THEN _
ZFMSFileLength = 36 + ZMaxDescLen + ZPersonalLen _
ELSE ZFMSFileLength = 38 + ZMaxDescLen _
ELSE ZFMSFileLength = LEN(ZOutTxt$) + 2
IF ZFMSFileLength < 86 THEN _ ' KG091002
CalcCatLen = 3 : _ ' KG091002
ZMaxDescLen = ZFMSFileLength - 38 _ ' KG091002
ELSE CalcCatLen = ZPersonalLen : _ ' KG091002
ZMaxDescLen = ZFMSFileLength - 36 - ZPersonalLen ' KG091002
CLOSE 2
------------------------[ KG091001]-------------------------
Problem: When personal files are stored in the drive/path for personal
files, and this drive/path is not in download areas, then the file can
be downloaded but not viewed. This makes those personal files viewed,
but subject to the same constaints as downloading, so that when in
the personal directory callers can view only those files listed and to
them. Note: this change is an improvement on one submitted by
Tom Hansen and Dan Shore.
*** Not implemented in STUNY - caused all sorts of problems with personal
uploads. ***
------------------------[ KG082201]-------------------------
Enhancement: Lets the SysOp upload to a security level.
Change RBBSSUB2.BAS as follows:
2032 RcvrRecNum = 0
IF MsgTo$ <> "ALL" THEN _
IF (LEFT$(MsgTo$,4) <> "ALL " AND ZStartHash = 1) THEN _
CALL CheckInt (MsgTo$) : _ ' KG082201
IF ZTestedIntValue = 0 OR NOT ZSysOp THEN _ ' KG082201
ZWasDF = INSTR(MsgTo$+" @"," @") : _
TempHashValue$ = LEFT$(MsgTo$,ZWasDF-1) : _
CALL WhoCheck (TempHashValue$,Found,RcvrRecNum) : _
IF NOT Found THEN _
ZLastIndex = 0 : _
RcvrRecNum = 0 : _
IF NOT ZReply THEN _
ZOutTxt$ = "Send anyway (Y,[N])" : _
ZTurboKey = -ZTurboKeyUser : _
ZLastIndex = 0 : _
GOSUB 2034 : _
IF NOT ZYes THEN _
GOTO 2021
IF MsgTo$ = Temp$ THEN _
ZOutTxt$ = "Really send this to YOURSELF (Y,[N])" : _
ZLastIndex = 0 : _
GOSUB 2034 : _
IF NOT ZYes THEN _
MsgTo$ = ""
CALL OpenWorkA (ZNodeWorkFile$)
CALL PrintWorkA (MsgTo$ + "," + STR$(RcvrRecNum))
CLOSE 2
ZNumHeaders = ZNumHeaders + 1
IF EnableCC AND (NOT ZReply) AND MsgTo$ <> "ALL" AND _
MsgTo$ <> "" AND LEFT$(MsgTo$,4) <> "ALL " AND _
(NOT ZSysopComment) AND (NOT ZSysopMsg) THEN _
ZOutTxt$ = "Carbon copy to another (Y,[N])" : _
CALL PopCmdStack : _
IF ZYes THEN _
GOTO 2021
Change RBBSSUB3.BAS as follows:
20717 CALL FindItX (ZNodeWorkFile$,7)
ZUserIn$ = Desc$
WasX$ = DATE$
ZWasZ$ = LEFT$(WasX$,6) + _
RIGHT$(WasX$,2)
ZWasEN$ = ZPersonalDir$
NumPersonals = 0
IF NOT ZOK THEN _
GOTO 20718
UserFileIndexSave = ZUserFileIndex
UserRecordHold$ = ZUserRecord$
WHILE NOT EOF(7)
CALL ReadParmsX (7,ZWorkAra$(),2,1)
IF LEFT$(ZWorkAra$(1),4) <> "ALL " AND ZWorkAra$(1) <> "ALL" THEN _
NumPersonals = NumPersonals + 1 : _
UCat$ = ZWorkAra$(1) : _
GOSUB 20737 : _ ' KG082201
GOSUB 20728 : _
RcvrRecNum = VAL (ZWorkAra$(2)) : _
CALL SetUserFlag (RcvrRecNum,4096,"file")
WEND
CLOSE 7
IF NumPersonals > 0 THEN _
ZUserFileIndex = UserFileIndexSave : _
LSET ZUserRecord$ = UserRecordHold$ : _
GOTO 20723
20736 IF NOT ZOK THEN _
ZBytesInFile# = 0.0_
ELSE ZBytesInFile# = LOF(2)
IF ZBytesInFile# < 2.0 THEN _
EXIT SUB
RETURN ' KG082201
20737 CALL CheckInt (UCat$) ' KG082201
IF ZTestedIntValue > 0 THEN _ ' KG082201
UCat$ = " " + UCat$ ' KG082201
RETURN ' KG082201
END SUB
*** Modified in STUNY to prevent the SysOp from entering messages to a user
named as a security level. ***
------------------------[ KG082101]-------------------------
Problem: Possible for caller to regain banked time. Also, the
session limit specified in a subboard config may fail to get
applied.
Solution: Change RBBSSUB2.BAS as follows:
120 ' $SUBTITLE: 'EditDef - sub to edit config parameters'
' $PAGE
'
' NAME -- EditDef
'
' INPUTS -- PARAMETER MEANING
'
' OUTPUTS -- OUTPUT STRING
'
' PURPOSE -- Interpretes and adjusts stored configuration parameters
'
SUB EditDef STATIC
ZMinsPerSessionDef = ZMinsPerSession ' KG082101
ZAllOpts$ = ZMainCmds$ + _
ZFileCmd$ + _
ZUtilCmds$ + _
ZLibCmds$ + _
ZGlobalCmnds$ + _
ZSysopCmds$
.
.
.
5503 IF SignTime = 1 THEN _
ZOutTxt$ = "Withdraw" _
ELSE ZOutTxt$ = "Deposit"
Temp$ = ZOutTxt$ + " how many mins"
CALL ChangeInt (ZFalse,Temp$,Temp,0,Maxtime)
IF ZWasQ = 0 OR ZTestedIntValue = 0 THEN _
GOTO 5501
ZTestedIntValue = SignTime * ZTestedIntValue
CALL ChkAddedTime (ZTestedIntValue)
IF ZTestedIntValue = 0 THEN _
GOTO 5501
ZSecsPerSession! = ZSecsPerSession! + (ZTestedIntValue * 60)
IF ZMaxPerDay = 0 THEN _ ' KG082101
ZTimeCredits! = ZTimeCredits! + ZTestedIntValue * 60 ' KG082101
ZElapsedTime = ZElapsedTime - ZTestedIntValue
ZGlobalBankTime = ZGlobalBankTime - ZTestedIntValue
GOSUB 5507
GOTO 5501
------------------------[ KG070401]-------------------------
Problem: The UTIL.HLP refers to "B)aud change" when this has
become "B)ank time".
Solution: a replacement UTIL.HLP is provided.
------------------------[ RH070402]-------------------------
Problem: When viewing a callers file and timeout at the More prompt,
get untrapped error.
Solution: Change RBBSSUB3.BAS as follows:
57100 IF INSTR(ZOutTxt$,"LOGON DENIED") OR INSTR(ZOutTxt$,"Lvl ")THEN _
IF NOT ZSysOp THEN _
RETURN
IF ZJumpSearching THEN _
ZWasDF$ = ZOutTxt$ : _
CALL AllCaps (ZWasDF$) : _
IF INSTR(ZWasDF$,ZJumpTo$) = 0 THEN _
RETURN _
ELSE CALL CheckColor (ZOutTxt$,ZJumpTo$,"") : _
ZJumpSearching = ZFalse
ZSubParm = 5
CALL TPut
WasX = 1
CALL AskMore ("",ZTrue,ZTrue,WasX,ZFalse)
IF ZSubParm = -1 THEN _ ' RH070402
GOTO 57102 _ ' RH070402
ELSE IF ZNo THEN _ ' RH070402
GOTO 57101 ' RH070402
RETURN
------------------------[ RH070401]-------------------------
Problem: When SysOp views callers file on another node, thereafter
his own logging to caller's file goes to the other node's callers.
Solution: Change RBBSSUB3.BAS as follows:
57102 ZJumpSupported = ZFalse
IF OrigCal$ <> ZCallersFile$ THEN _ ' RH070401
ZCallersFile$ = OrigCal$ : _
CALL SetCall
END SUB
------------------------[ BH070401]-------------------------
Problem: "[CBAUD]" can include a leading blank, which causes it not
to work with some external protocols, like HSLink.
Solution: Change RBBSSUB2.BAS as follows:
(line 1654)
.
.
.
SUB SetBaud STATIC
IF ZCBaud$ = "" THEN _
ZCBaud$ = MID$(ZBaudRates$,(-5 * ZBPS),5) : _ ' BH070401
CALL Trim (ZCBaud$) ' BH070401
Temp! = VAL(ZCBaud$)
.
.
.
------------------------[ KG062401]-------------------------
Problem: When say to download marked files in a personal directory,
says unable to find "M".
Solution: Change RBBSSUB3.BAS as follows:
58181 MarkingFiles = ZFalse
IF (WasX$ = "D" OR WasX$ = "M") THEN IF CanDnld THEN _
MarkingFiles = (WasX$ = "M") : _
CALL AskItems ("DM",WasX$,ZTrue,"file",ZMarkedFiles$) : _ ' KG062401
IF ZWasQ = 0 THEN _
GOTO 58183
IF WasX$ = "*" THEN IF ZPersonalDnld THEN _
GOTO 58193
58188 IF ProcessedNew OR MarkingFiles OR NOT ZListOnly THEN _
ProcessedNew = ZFalse : _
RETURN
ZUserIn$(0) = ""
WasI = ZAnsIndex ' check whether in dir
WHILE WasI <= ZLastIndex
CALL AraAllCaps (ZUserIn$(),WasI)
ZWasZ$ = ZUserIn$(WasI)
CALL UnMarkItems (ZMarkedFiles$,WasI,ZLastIndex,WasX,ZTrue)
Temp$ = ZUserIn$(WasI)
CALL AllCaps (Temp$) ' KG062401
'print "wasi=";wasi;" temp$=<";temp$;"> Zdef=<";zdefaultxfer$;">"
IsProto = (LEN(Temp$) = 1 AND _
INSTR(ZDefaultXfer$,Temp$) > 0)
ZOK = IsProto
WasJ = LastRec + 1
WasX = INSTR(Temp$,".")
AltTemp$ = ""
IF NOT IsProto THEN _
IF WasX = 0 THEN _
AltTemp$ = Temp$ + "." + ZDefaultExtension$ _
ELSE IF WasX = LEN(Temp$) THEN _
AltTemp$ = LEFT$(Temp$,WasX-1)
'print "58188 b4 while zok=";zok;" wasj=";wasj;" looking for <";temp$;">"
WHILE WasJ > 1 AND NOT ZOK
WasJ = WasJ - 1
GET #2,WasJ
GOSUB 58191
'print "bk 58191 canget=";catget;" ptp<";parttoprint$;">";:input xx$
IF CanGet THEN _
MID$(PartToPrint$,13,1) = " " : _
WasX$ = LEFT$(PartToPrint$,INSTR(PartToPrint$," ") - 1) : _
ZOK = (Temp$ = WasX$) : _
IF NOT ZOK THEN _
IF AltTemp$ <> "" THEN _
ZOK = (AltTemp$ = WasX$)
WEND
'print "58188 aft while zok=";zok;" wasj=";wasj;" looking for <";temp$;">":input xxx$
IF ZOK THEN _
GOSUB 58189 : _
IF ZOK OR IsProto THEN _
WasX$ = MID$(STR$(WasJ),2) : _
ZUserIn$(0) = ZUserIn$(0) + _
WasX$ + _
SPACE$(5 - LEN(WasX$))
IF NOT ZOK AND NOT IsProto THEN _
CALL QuickTPut1 (ZWasZ$ + " not found - omitted") : _
FOR WasK = WasI + 1 TO ZLastIndex : _
ZUserIn$(WasK - 1) = ZUserIn$(WasK) : _
NEXT : _
ZLastIndex = ZLastIndex - 1 : _
WasI = WasI - 1
WasI = WasI + 1
WEND
ZWasQ = ZLastIndex
'print "end 58188 zlastindex=";zlastindex;" zok=";zok
RETURN
------------------------[ KG062301]-------------------------
Problem: When you stack message numbers, Read reads exactly those
messages. But S)can and T)opic do not confine themselves to the
numbers. Instead, "s 5" acts like "s 5+".
Solution: Change RBBS-PC.BAS as follows:
4380 WasA1$ = "Msg #" + _
STR$(LowMsgNumber) + _
"-" + _
MID$(STR$(ZMsgPtr(ActiveMessages,2)),2) + _
" (H)lp,S)ince,L)ast" + _
LEFT$(",G)lobal",8*(ZLinkedConf$ ="" OR ZGlobalRead)+8)
CALL SkipLine (-QuickScanMsgs) ' KG062301
IF ZGlobalRead THEN _
CALL QuickTPut1 ("Reading globally")
IF AddressedToUser OR ToRequested OR FromRequested THEN _
ZWasY$ = LEFT$("TO",-2*(ToRequested OR AddressedToUser)) + _
LEFT$("/",-AddressedToUser) + _
LEFT$("FROM",-4*(FromRequested OR AddressedToUser)) : _
CALL QuickTPut1 ("Include only msgs "+ZWasY$+" you. Read what msgs (? for help)") _
ELSE WasA1$ = WasA1$ + ",T)o,F)rom,M)" : _
IF ReadMsgs AND ZMarkedMsgs$ <> "" THEN _
WasA1$ = WasA1$ + "arked" _
ELSE WasA1$ = WasA1$ + "ine"
IF SearchString$ = "" THEN _
WasA1$ = WasA1$ + _
", text" _
ELSE CALL QuickTPut1 ("Include only msgs with text " + SearchString$ + ". Read what msgs (? for help)")
4418 ZWasA = INSTR("FfTt",ZUserIn$(ZAnsIndex))
IF ZWasA > 0 THEN _
ToRequested = (ZWasA > 2) : _
FromRequested = (ZWasA < 3) : _
GOTO 4370
IF CurMsg = 0 THEN _
IF SearchHeader$ <> "" THEN _
GOTO 4370 _
ELSE SearchString$ = ZUserIn$(ZAnsIndex) : _
SearchCt = 0 : _
CALL AllCaps (SearchString$) : _
CALL Remove (SearchString$,CHR$(34) + CHR$(39)) : _
SearchHeader$ = SearchString$ : _
SubInHeader$ = SearchHeader$ : _
GOTO 4370
CALL SkipLine (-ReadMsgs) ' KG062301
4630 CALL AskMore (",M)ark, #(s) to read",ZTrue,ZTrue,WasXX,ZFalse)
IF ZWasQ = 0 OR ZYes THEN _
GOTO 4631
IF ZNo THEN _
RETURN
IF ZSubParm = -1 THEN _
RETURN 10595
IF ZRet THEN _
RETURN
ZWasZ$ = ZUserIn$(1)
CALL AllCaps (ZWasZ$)
IF ZWasZ$ = "M" THEN _
ZLastIndex = ZWasQ : _
ZAnsIndex = 1 : _
CALL AskItems ("M",ZWasZ$,ZTrue,"msg",ZMarkedMsgs$)
IF VAL(ZWasZ$) > 0 THEN _
FOR WasI = ZWasQ TO 1 STEP -1 : _
ZUserIn$(WasI + 1) = ZUserIn$(WasI) : _
NEXT : _
ZUserIn$(1) = MID$(ZAllOpts$,INSTR(ZOrigCommands$,"R"),1) : _
ZLastIndex = ZWasQ + 1 : _
ZAnsIndex = 1 : _
RETURN 1235 ' KG062301
4631 IF NOT Forward AND NOT Reverse THEN _ ' KG062301
GOTO 4370 ' KG062301
CALL CheckCarrier ' KG062301
IF ZSubParm THEN _
RETURN 10595
IF ZRet THEN _
RETURN
========================[ STUNY ]=========================
Original BULLET6 file dated 012493