home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / rbbs_pc / rfix0312.zip / RSB30312.MRG < prev    next >
Text File  |  1993-03-12  |  19KB  |  437 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against C:\174\RBBSSUB3.BAS to produce D:\SOURCE\RBBSSUB3.BAS
  3. * C:\174\RBBSSUB3.BAS:  Date 6-20-1992  Size 129071 bytes
  4. * ------------[ Created 03-12-1993 21:24:59 ]------------
  5. * REPLACING old line(s) by new
  6. 20717 CALL FindItX (ZNodeWorkFile$,7)
  7.       ZUserIn$ = Desc$
  8.       WasX$ = DATE$
  9.       ZWasZ$ = LEFT$(WasX$,6) + _
  10.            RIGHT$(WasX$,2)
  11.       ZWasEN$ = ZPersonalDir$
  12.       NumPersonals = 0
  13.       IF NOT ZOK THEN _
  14.          GOTO 20718
  15.       UserFileIndexSave = ZUserFileIndex
  16.       UserRecordHold$ = ZUserRecord$
  17.       WHILE NOT EOF(7)
  18.          CALL ReadParmsX (7,ZWorkAra$(),2,1)
  19.          IF LEFT$(ZWorkAra$(1),4) <> "ALL " AND ZWorkAra$(1) <> "ALL" THEN _
  20.             NumPersonals = NumPersonals + 1 : _
  21.             UCat$ = ZWorkAra$(1) : _
  22. * ------[ first line different ]------
  23.             GOSUB 20737 : _                                          ' KG082201
  24.             GOSUB 20728 : _
  25.             RcvrRecNum = VAL (ZWorkAra$(2)) : _
  26.             CALL SetUserFlag (RcvrRecNum,4096,"file")
  27.       WEND
  28.       CLOSE 7
  29.       IF NumPersonals > 0 THEN _
  30.          ZUserFileIndex = UserFileIndexSave : _
  31.          LSET ZUserRecord$ = UserRecordHold$ : _
  32.          GOTO 20723
  33. * REPLACING old line(s) by new
  34. 20736 IF NOT ZOK THEN _
  35.          ZBytesInFile# = 0.0_
  36.       ELSE ZBytesInFile# = LOF(2)
  37.       IF ZBytesInFile# < 2.0 THEN _
  38.          EXIT SUB
  39. * ------[ first line different ]------
  40.       RETURN                                                         ' KG082201
  41. * INSERTING new line(s)
  42. 20737 CALL CheckInt (UCat$)                                          ' KG082201
  43.       IF ZTestedIntValue > 0 THEN _                                  ' KG082201
  44.          UCat$ = " " + UCat$                                         ' KG082201
  45.       RETURN                                                         ' KG082201
  46.       END SUB
  47. * REPLACING old line(s) by new
  48. 21623 CALL ReadParms (ZWorkAra$(),13,ZFF)
  49.       IF ZErrCode > 0 THEN _
  50.          ZFF = LEN(ZDefaultXfer$) : _
  51.          ZProtoPrompt$ = "None" : _
  52.          GOTO 21625
  53.       ZProtoPrompt$ = ZWorkAra$(1)
  54.       IF LEN(ZProtoPrompt$) > 2 THEN _
  55.          IF MID$(ZProtoPrompt$,2,1) = ")" THEN _
  56.             ZProtoPrompt$ = LEFT$(ZProtoPrompt$,1) + MID$(ZProtoPrompt$,3)
  57.       WasX = INSTR(ZProtoPrompt$+ZCrLf$,ZCrLf$)
  58.       ZProtoPrompt$ = LEFT$(ZProtoPrompt$,WasX-1)
  59.       CALL Trim (ZProtoPrompt$)
  60. * ------[ first line different ]------
  61.       ZProtoMethod$ = ZWorkAra$(3)                                   ' KG020501
  62.       CALL AllCaps (ZProtoMethod$)
  63.       ZReq8Bit = (LEFT$(ZWorkAra$(4),1) = "8")
  64.       ZDownTemplate$ = ZWorkAra$(12)
  65.       ZUpTemplate$ = ZWorkAra$(13)
  66.       WasX$ = ZWorkAra$(11)
  67.       WasX = INSTR(WasX$,"=")
  68.       ZAdvanceProtoWrite = ZFalse
  69.       IF WasX < 2 OR WasX >= LEN(WasX$) THEN _
  70.          ZFailureParm = 4 : _
  71.          ZFailureString$ = "F" _
  72.       ELSE ZFailureParm = VAL(LEFT$(WasX$,WasX-1)) : _
  73.            ZFailureString$ = MID$(WasX$,WasX+1) : _
  74.            WasX = INSTR(ZFailureString$,"=") : _
  75.            IF WasX > 0 THEN _
  76.               ZAdvanceProtoWrite = (MID$(ZFailureString$,WasX) = "=A") : _
  77.               ZFailureString$ = LEFT$(ZFailureString$,WasX-1)
  78.       ZProtoMacro$ = ZWorkAra$(10)
  79.       ZFakeXRpt = (LEFT$(ZWorkAra$(8),1) = "F")
  80.       ZBatchProto = (LEFT$(ZWorkAra$(6),1) = "B")
  81.       ZSpeedFactor! = VAL(ZWorkAra$(9))
  82.       IF ZSpeedFactor! < 0.1 THEN _
  83.          ZSpeedFactor! = 0.87
  84.       ZBlockSize = VAL(ZWorkAra$(7))
  85.       ZFLen = ZBlockSize
  86.       IF ZFLen < 1 THEN _
  87.          ZFLen = 128
  88. * REPLACING old line(s) by new
  89. 43070 ZActiveMessageFile$ = ZOrigMsgFile$
  90.       ZSubParm = 3
  91.       CALL FileLock
  92.       CALL OpenMsg
  93.       FIELD 1, 128 AS ZMsgRec$
  94.       GET 1,ZNodeRecIndex
  95.       IF ZGlobalSysop THEN _
  96.          MID$(ZMsgRec$,1,30) = "SYSOP" + SPACE$(25)
  97.       MID$(ZMsgRec$,40,2) = STR$(ZExitToDoors)
  98.       MID$(ZMsgRec$,42,2) = STR$(ZEightBit)
  99.       MID$(ZMsgRec$,44,2) = RIGHT$(STR$(-ZBPS),2)
  100.       MID$(ZMsgRec$,46,2) = STR$(ZUpperCase)
  101.       MID$(ZMsgRec$,48,5) = MKS$(ZNumDnldBytes!) + MID$(STR$(-ZBatchTransfer),2)
  102.       MID$(ZMsgRec$,53,2) = STR$(ZWasGR)
  103.       MID$(ZMsgRec$,55,2) = STR$(ZSysop)
  104.       MID$(ZMsgRec$,65,3) = CHR$(VAL(LEFT$(ZOrigTimeLoggedOn$,2))) + _
  105.                             CHR$(VAL(MID$(ZOrigTimeLoggedOn$,4,2))) + _
  106.                             CHR$(VAL(MID$(ZOrigTimeLoggedOn$,7,2)))
  107.       MID$(ZMsgRec$,72,2) = STR$(ZPrivateDoor)
  108.       MID$(ZMsgRec$,74,1) = MID$(STR$(ZTransferFunction),2,1)
  109.       MID$(ZMsgRec$,75,1) = ZWasFT$
  110. * ------[ first line different ]------
  111.       MID$(ZMsgRec$,113,2) = MKI$(CINT(ZTimeCredits!)/60)            ' KG012803
  112.       MID$(ZMsgRec$,91,2) = STR$(ZReliableMode)
  113.       CALL BreakFileName (ZCurPUI$,ZOutTxt$,ZUserIn$,ZWasZ$,ZFalse)
  114.       MID$(ZMsgRec$,93,8) = ZUserIn$ + SPACE$(8 - LEN(ZUserIn$))
  115.       IF ZLocalUser THEN _
  116.          ZWasZ$ = ZCarriageReturn$ + ZCarriageReturn$ _
  117.       ELSE ZWasZ$ = " 0"
  118.       MID$(ZMsgRec$,101,2) = ZWasZ$
  119.       MID$(ZMsgRec$,103,2) = STR$(ZLocalUserMode)
  120.       ZConfName$ = LEFT$(ZConfName$,INSTR(ZConfName$ + " "," ") - 1)
  121.       MID$(ZMsgRec$,105,8) = ZConfName$ + SPACE$(8 - LEN(ZConfName$))
  122.       MID$(ZMsgRec$,115,1) = MID$(STR$(ZAutoLogoffReq),2,1)
  123.       MID$(ZMsgRec$,117,2) = STR$(ZMenuIndex)
  124.       MID$(ZMsgRec$,119,2) = LEFT$(DATE$,2)
  125.       MID$(ZMsgRec$,121,2) = MID$(DATE$,4,2)
  126.       MID$(ZMsgRec$,123,2) = RIGHT$(DATE$,2)
  127.       MID$(ZMsgRec$,125,2) = LEFT$(TIME$,2)
  128.       MID$(ZMsgRec$,127,2) = MID$(TIME$,4,2)
  129. ' ***   Save additional parameters for door restoral
  130.       CALL OpenOutW (ZNodeWorkDrvPath$+"DRST"+ZNodeFileID$+".DEF")
  131.       CALL PrintWorkA (STR$(ZLimitMinsPerSession))
  132.       CALL PrintWorkA (ZWasNG$)
  133.       CALL PrintWorkA (ZIndivValue$)
  134.       CALL PrintWorkA (ZOrigDateTimeOn$)
  135.       CALL PrintWorkA (ZOrigTimeLoggedOn$)
  136.       CALL PrintWorkA (STR$(ZUserFileIndex))
  137.       CALL PrintWorkA (ZUpldDir$)
  138.       ZOutTxt$ = STR$(ZUpldDir$ = ZFMSDirectory$ OR ZLimitSearchToFMS)
  139.       CALL PrintWorkA (ZOutTxt$)
  140.       CALL PrintWorkA (ZCBaud$)
  141.       CALL PrintWorkA (ZDooredTo$)                                   ' KG012803
  142.       CLOSE 2
  143. * REPLACING old line(s) by new
  144. 44000 ' $SUBTITLE: 'ReadProf - subroutine to restore a user profile'
  145. ' $PAGE
  146. '
  147. '  NAME    -- ReadProf
  148. '
  149. '  INPUTS  --     PARAMETER                    MEANING
  150. '              ZNodeRecIndex               NODE RECORD TO USE
  151. '              ZSysopPswd1$               Sysop'S PSEUDONYM 1
  152. '              ZSysopPswd2$               Sysop'S PSEUDONYM 2
  153. '
  154. '  OUTPUTS -- USER'S OPTIONS AND COMMUNICATIONS PARAMETERS
  155. '             UPON EXITING RBBS-PC TO A "DOOR"
  156. '
  157. '  PURPOSE -- Reset a user's options and communications parameters
  158. '             that were saved in the node record when a user exited
  159. '             to a "door" so that he is in the same status as when
  160. '             he exited.
  161. '
  162.       SUB ReadProf STATIC
  163.       FIELD 1, 128 AS ZMsgRec$
  164.       GET 1,ZNodeRecIndex
  165.       ZReliableMode = VAL(MID$(ZMsgRec$,91,2))
  166.       MID$(ZMsgRec$,40,2) = "00"
  167.       ZEightBit = VAL(MID$(ZMsgRec$,42,2))
  168.       ZBPS = -VAL(MID$(ZMsgRec$,44,2))
  169.       CALL CommInfo
  170.       ZBaudTest! = VAL(MID$(ZBaudRates$,(-5 * ZBPS),5))
  171.       ZUpperCase = VAL(MID$(ZMsgRec$,46,2))
  172.       ZNumDnldBytes! = CVS(MID$(ZMsgRec$,48,4))
  173.       ZBatchTransfer = (MID$(ZMsgRec$,52,1) = "1")
  174.       ZWasGR = VAL(MID$(ZMsgRec$,53,2))
  175.       HourLoggedOn$ = RIGHT$("0"+MID$(STR$(ASC(MID$(ZMsgRec$,65,1))),2),2)
  176.       MinLoggedOn$  = RIGHT$("0"+MID$(STR$(ASC(MID$(ZMsgRec$,66,1))),2),2)
  177.       SecLoggedOn$  = RIGHT$("0"+MID$(STR$(ASC(MID$(ZMsgRec$,67,1))),2),2)
  178.       ZTimeLoggedOn$ = HourLoggedOn$ + _
  179.                         ":" + _
  180.                         MinLoggedOn$ + _
  181.                         ":" + _
  182.                         SecLoggedOn$
  183.       ZTransferFunction = VAL(MID$(ZMsgRec$,74,1))
  184.       ZWasFT$ = MID$(ZMsgRec$,75,1)
  185. * ------[ first line different ]------
  186.       ZTimeCredits! = 60!*CVI(MID$(ZMsgRec$,113,2))                  ' KG012803
  187.       ZMenuIndex = VAL(MID$(ZMsgRec$,117,2))
  188.       ZCurPUI$ = MID$(ZMsgRec$,93,8)
  189.       CALL Remove (ZCurPUI$," ")
  190.       IF ZCurPUI$ <> "" THEN _
  191.          CALL BreakFileName (ZMainPUI$,ZOutTxt$,ZUserIn$,ZWasZ$,ZTrue) : _
  192.          ZCurPUI$ = ZOutTxt$ + ZCurPUI$ + ZWasZ$
  193.       ZCustomPUI = (ZCurPUI$ <> "")
  194.       ZLocalUser = (MID$(ZMsgRec$,101,2) = ZCarriageReturn$ + ZCarriageReturn$)
  195.       ZLocalUserMode = VAL(MID$(ZMsgRec$,103,2))
  196.       ZHomeConf$ = MID$(ZMsgRec$,105,8)
  197.       ZAutoLogoffReq = (VAL(MID$(ZMsgRec$,115,1)) <> 0)
  198.       CALL Trim (ZHomeConf$)
  199.       IF ZHomeConf$ = "MAIN" THEN _
  200.          ZHomeConf$ = ""
  201.       IF ZRequiredRings > 0 AND _
  202.          INSTR(ZModemInitCmd$,"S0=255") THEN _
  203.          COLOR 7,0,0 _
  204.       ELSE COLOR ZFG,ZBG,ZBorder
  205.       IF ZLocalUserMode THEN _
  206.          GOTO 44003
  207.       CALL SetBaud
  208. * REPLACING old line(s) by new
  209. 44003 ZUserLogonTime! = VAL(HourLoggedOn$) * 3600! + _
  210.                         VAL(MinLoggedOn$) * 60! + _
  211.                         VAL(SecLoggedOn$)
  212.       HourLoggedOn$ = ""
  213.       MinLoggedOn$ = ""
  214.       SecLoggedOn$ = ""
  215.       IF ZMinsPerSession < 1 THEN _
  216.          ZMinsPerSession = 3
  217.       IF NOT ZEightBit THEN _
  218.          OUT ZLineCntlReg,&H1A
  219.       IF LEFT$(ZMsgRec$,7) = "SYSOP  " THEN _
  220.          ZFirstName$ = ZSysopPswd1$ : _
  221.          ZActiveUserName$ = ZSecretName$ _
  222.       ELSE ZFirstNameEnd = INSTR(ZMsgRec$," ") : _
  223.            ZLastNameEnd = INSTR(ZFirstNameEnd + 1,ZMsgRec$ + " ","  ") : _
  224.            ZFirstName$ = LEFT$(ZMsgRec$,ZFirstNameEnd-1) : _
  225.            ZLastName$ = MID$(ZMsgRec$,ZFirstNameEnd + 1,ZLastNameEnd - (ZFirstNameEnd + 1)) : _
  226.            ZActiveUserName$ = MID$(ZFirstName$ + " " + ZLastName$,1,31)
  227.       ZWasZ$ = ZFirstName$
  228.       CALL OpenWork (2,ZNodeWorkDrvPath$+"DRST"+ZNodeFileID$+".DEF")
  229.       CALL ReadDir (2,1)
  230.       ZLimitMinsPerSession = VAL (ZOutTxt$)
  231.       CALL ReadDir (2,1)
  232.       ZWasNG$ = ZOutTxt$
  233.       CALL ReadDir (2,1)
  234.       ZIndivValue$ = ZOutTxt$
  235.       CALL ReadDir (2,1)
  236.       ZOrigDateTimeOn$ = ZOutTxt$
  237.       CALL ReadDir (2,1)
  238.       ZOrigTimeLoggedOn$ = ZOutTxt$
  239.       CALL ReadDir (2,1)
  240.       ZUserFileIndex = VAL(ZOutTxt$)
  241.       CALL ReadDir (2,1)
  242.       ZUpldDoor$ = ZOutTxt$
  243.       CALL ReadDir (2,1)
  244.       ZFMSDoor = VAL(ZOutTxt$)
  245.       CALL ReadDir (2,1)
  246.       ZCBaud$ = ZOutTxt$
  247. * ------[ first line different ]------
  248.       CALL ReadDir (2,1)                                             ' KG012803
  249.       ZDooredTo$ = ZOutTxt$                                          ' KG012803
  250.       CLOSE 2
  251.       IF ZExitToDoors AND ZDooredTo$ <> "" THEN _                    ' KG012803
  252.          CALL OpenWork (2,ZDoorsDef$) : _                            ' KG012803
  253.          IF ZErrCode = 0 THEN _                                      ' KG012803
  254.             CALL ReadParms (ZOutTxt$(),8,1) : _                      ' KG012803
  255.             WHILE ZErrCode = 0 AND ZOutTxt$(1) <> ZDooredTo$ : _     ' KG012803
  256.                CALL ReadParms (ZOutTxt$(),8,1) : _                   ' KG012803
  257.             WEND : _                                                 ' KG012803
  258.             IF ZOutTxt$(1) = ZDooredTo$ THEN _                       ' KG012803
  259.                ZDoorSkipsPswd = (ZOutTxt$(6) <> "Y")                 ' KG012803
  260.       ZErrCode = 0                                                   ' KG012803
  261.       CALL DoorReturn
  262.       END SUB
  263. * REPLACING old line(s) by new
  264. 57100 IF INSTR(ZOutTxt$,"LOGON DENIED") OR INSTR(ZOutTxt$,"Lvl ")THEN _
  265.          IF NOT ZSysOp THEN _
  266.             RETURN
  267.       IF ZJumpSearching THEN _
  268.          ZWasDF$ = ZOutTxt$ : _
  269.          CALL AllCaps (ZWasDF$) : _
  270.          IF INSTR(ZWasDF$,ZJumpTo$) = 0 THEN _
  271.             RETURN _
  272.          ELSE CALL CheckColor (ZOutTxt$,ZJumpTo$,"") : _
  273.               ZJumpSearching = ZFalse
  274.       ZSubParm = 5
  275.       CALL TPut
  276.       WasX = 1
  277.       CALL AskMore ("",ZTrue,ZTrue,WasX,ZFalse)
  278. * ------[ first line different ]------
  279.       IF ZSubParm = -1 THEN _                                        ' RH070402
  280.          GOTO 57102 _                                                ' RH070402
  281.       ELSE IF ZNo THEN _                                             ' RH070402
  282.          GOTO 57101                                                  ' RH070402
  283.       RETURN
  284. * REPLACING old line(s) by new
  285. 57102 ZJumpSupported = ZFalse
  286. * ------[ first line different ]------
  287.       IF OrigCal$ <> ZCallersFile$ THEN _                            ' RH070401
  288.          ZCallersFile$ = OrigCal$ : _
  289.          CALL SetCall
  290.       END SUB
  291. * REPLACING old line(s) by new
  292. 58180 WasX$ = ZUserIn$(ZAnsIndex)
  293.       CALL AllCaps (WasX$)
  294.       IF InList AND (ZAnsIndex >= ZLastIndex OR WasX$ <> "D") THEN _
  295.          ZTurboKey = -ZTurboKeyUser : _
  296.          ZStackC = ZTrue : _
  297.          CALL AskMore (ExtraPrompt$, ZTrue, ZFalse,AbortIndex,ZFalse) : _
  298.          IF ZSubParm = -1 THEN _
  299.             EXIT SUB _
  300.          ELSE ZLastIndex = ZWasQ :_
  301.               IF NOT ZNo THEN _
  302.                  ZAnsIndex = 1
  303.       IF ZSubParm = -1 THEN _
  304.          GOTO 58198
  305.       IF ZNo THEN _
  306.          ZLastIndex = 0 : _
  307.          GOTO 58198
  308.       WasX$ = ZUserIn$(ZAnsIndex)
  309.       CALL AllCaps (WasX$)
  310. 'print "WASX$=<";WASX$;"> zansindex=";zansindex;" zlastindex=";zlastindex;:for ii=zansindex to zlastindex: print "<";zuserin$(ii);">";:next:print:INPUT XXX$
  311. * ------[ first line different ]------
  312. 'print "wasx$=<";wasx$;"> candnld=";candnld;" zlc=<";zlastcommand$;"> inlist=";inlist
  313. * REPLACING old line(s) by new
  314. 58181 MarkingFiles = ZFalse
  315. * ------[ first line different ]------
  316.       IF ((WasX$ = "D" OR WasX$ = "M") AND CanDnld) OR (WasX$ = "V" AND CanView) THEN _ ' KG091001
  317.          MarkingFiles = (WasX$ = "M") : _
  318.          CALL AskItems ("DMV",WasX$,ZTrue,"file",ZMarkedFiles$) : _   ' KG091001
  319.          IF ZWasQ = 0 THEN _
  320.             GOTO 58183
  321.       IF WasX$ = "*" THEN IF ZPersonalDnld THEN _
  322.          GOTO 58193
  323. * REPLACING old line(s) by new
  324. 58183 IF ZJumpSearching THEN _
  325.          PrevSearch$ = SearchFor$ : _
  326.          SearchFor$ = ZJumpTo$ _
  327.       ELSE SearchFor$ = SearchString$ : _
  328.            IF NOT ZYes AND CanDnld THEN _
  329.               GOSUB 58188 : _
  330. * ------[ first line different ]------
  331.               IF WasX$ = "V" AND CanView AND ZLastIndex >= ZAnsIndex THEN _ ' KG091001
  332.                  ZAnsIndex = ZAnsIndex - 1 : _                       ' KG091001
  333.                  CALL GetArc : _                                     ' KG091001
  334.                  ZJumpSupported = ZTrue : _                          ' KG091001
  335.                  ZWasA = UpldIndex : _                               ' KG091001
  336.                  GOSUB 58185 : _                                     ' KG091001
  337.                  UpldIndex = ZWasA : _                               ' KG091001
  338.                  GOTO 58180 _                                        ' KG091001
  339.               ELSE IF WasX$ <> "L" AND ZLastIndex >= ZAnsIndex AND NOT MarkingFiles THEN _
  340.                  CALL SkipLine (1) : _
  341.                  DnldFlag = 1 : _
  342.                  ReListAt = UpldIndex : _
  343.                  EXIT SUB _      ' exit for downloading
  344.               ELSE IF UpldIndex = CutoffRec THEN _
  345.                       GOTO 58184
  346.       IF ZNonStop THEN IF UpldIndex > 999 THEN _
  347.          IF (SearchDate$ = "" OR NOT ZExpertUser) THEN _
  348.             ZOutTxt$ = STR$(UpldIndex) + _
  349.                " lines left to search.  Really go non-stop? (Y,[N])" : _
  350.             ZNoAdvance = ZTrue : _
  351.             ZTurboKey = -ZTurboKeyUser : _
  352.             ZSubParm = 1 : _
  353.             CALL TGet : _
  354.             CALL WipeLine (79) : _
  355.             ZNonStop = ZYes
  356.       GOTO 58168
  357. * REPLACING old line(s) by new
  358. 58188 IF ProcessedNew OR MarkingFiles OR NOT ZListOnly THEN _
  359.          ProcessedNew = ZFalse : _
  360.          RETURN
  361.       ZUserIn$(0) = ""
  362.       WasI = ZAnsIndex              ' check whether in dir
  363.       WHILE WasI <= ZLastIndex
  364.          CALL AraAllCaps (ZUserIn$(),WasI)
  365.          ZWasZ$ = ZUserIn$(WasI)
  366.          CALL UnMarkItems (ZMarkedFiles$,WasI,ZLastIndex,WasX,ZTrue)
  367.          Temp$ = ZUserIn$(WasI)
  368. * ------[ first line different ]------
  369.          CALL AllCaps (Temp$)                                        ' KG062401
  370. 'print "wasi=";wasi;" temp$=<";temp$;"> Zdef=<";zdefaultxfer$;">"
  371.          IsProto = (LEN(Temp$) = 1 AND _
  372.                     INSTR(ZDefaultXfer$,Temp$) > 0)
  373.          ZOK = IsProto
  374.          WasJ = LastRec + 1
  375.          WasX = INSTR(Temp$,".")
  376.          AltTemp$ = ""
  377.          IF NOT IsProto THEN _
  378.             IF WasX = 0 THEN _
  379.                AltTemp$ = Temp$ + "." + ZDefaultExtension$ _
  380.             ELSE IF WasX = LEN(Temp$) THEN _
  381.                     AltTemp$ = LEFT$(Temp$,WasX-1)
  382. 'print "58188 b4 while zok=";zok;" wasj=";wasj;" looking for <";temp$;">"
  383.          WHILE WasJ > 1 AND NOT ZOK
  384.             WasJ = WasJ - 1
  385.             GET #2,WasJ
  386.             GOSUB 58191
  387. 'print "bk 58191 canget=";catget;" ptp<";parttoprint$;">";:input xx$
  388.             IF CanGet THEN _
  389.                MID$(PartToPrint$,13,1) = " " : _
  390.                ZWasY$ = LEFT$(PartToPrint$,INSTR(PartToPrint$," ") - 1) : _ ' KG091001
  391.                ZOK = (Temp$ = ZWasY$) : _                            ' KG091001
  392.                IF NOT ZOK THEN _
  393.                   IF AltTemp$ <> "" THEN _
  394.                      ZOK = (AltTemp$ = ZWasY$)                       ' KG091001
  395.          WEND
  396. 'print "58188 aft while zok=";zok;" wasj=";wasj;" looking for <";temp$;">":input xxx$
  397.          IF ZOK THEN _
  398.             GOSUB 58189 : _
  399.             IF ZOK OR IsProto THEN _
  400.                ZWasY$ = MID$(STR$(WasJ),2) : _                       ' KG091001
  401.                ZUserIn$(0) = ZUserIn$(0) + _
  402.                        ZWasY$ + _                                    ' KG091001
  403.                        SPACE$(5 - LEN(ZWasY$))                       ' KG091001
  404.          IF NOT ZOK AND NOT IsProto THEN _
  405.             CALL QuickTPut1 (ZWasZ$ + " not found - omitted") : _
  406.             FOR WasK = WasI + 1 TO ZLastIndex : _
  407.                ZUserIn$(WasK - 1) = ZUserIn$(WasK) : _
  408.             NEXT : _
  409.             ZLastIndex = ZLastIndex - 1 : _
  410.             WasI = WasI - 1
  411.          WasI = WasI + 1
  412.       WEND
  413.       ZWasQ = ZLastIndex
  414. 'print "end 58188 zlastindex=";zlastindex;" zok=";zok
  415.       RETURN
  416. * REPLACING old line(s) by new
  417. 58196 CALL QuickTPut (ZEmphasizeOff$,0)
  418.       ZOutTxt$ = Temp$ + "L)ist,A)bort," + _
  419.                  LEFT$("*)dnld new,",-11*ZPersonalDnld) + _
  420.                  "M)ark" + LEFT$(",D)nld",-6*CanDnld) + _
  421.                   LEFT$(",V)iew",-6*CanView) + ZPressEnterExpert$
  422.       ZTurboKey = -ZTurboKeyUser
  423.       CALL PopCmdStack
  424.       WasX$ = ZUserIn$(ZAnsIndex)
  425.       CALL AllCaps (WasX$)
  426.       IF WasX$ = "A" THEN ZRet = ZTrue
  427.       IF ZWasQ = 0 OR ZRet OR ZSubParm < 0 THEN _
  428.          GOTO 58198
  429.       IF WasX$ = "L" THEN _
  430.          ZActiveFMSDir$ = OrigDir$ : _
  431.          GOSUB 58185 : _
  432.          AtEndList = ZFalse : _
  433. * ------[ first line different ]------
  434.          GOTO 58168                                                  ' KG091001
  435.       ZYes = ZFalse
  436.       GOTO 58181
  437.