THIS MOD Adds Line Number Referencing to RBBS, orig mod from 15a
You will need the file THREAD.EXE to maintain the Thread File
Please see the THREAD.ARC or THREAD2.ARC file for Docs.......(available on
many BBS including Mine
orig mods by George Brungot ..BBS # (301)-268-5821
Mod for 17a by Pete Eibl (maple Street BBS 414-771-2805)



RBBS-VAR.BAS
add the  variables Z.ABORT, GRN$  and JUST.SEARCHING to RBBS-VAR.BAS

'
' ****  ABORT MESSAGE   ****
'
2400 GOSUB 2435
     IF NOT YES THEN _
        GOTO 2300
2430 A$ = "Aborted"
     GOSUB 12975
     Z.ABORT = 1
' ********** NOTE *** only use the following variables if using the
' Re-EDIT mods and Quoted message mods
'
     QUOTED.REPLY = FALSE					'Pe 01/29/89
     RE.EDIT = FALSE                                            'Pe 02/11/89
' ************************************************************************
     GOTO 3650
2435 A$ = "Abort " + _
          FT$ + _
          " (Y/[N])"
     GOSUB 12995
     RETURN
'
' Skip to Next........

'************************ MESSAGE THREAD *****************
3650 IF REPLY AND Z.ABORT = 0 THEN _         
        CALL THREAD1(HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$)  'GRB
      Z.ABORT = 0
'*********************************************************
 IF REPLY THEN _
        REPLY = FALSE : _
        GOTO 5344
     IF GET.EXT.DESC THEN _
        LINES.IN.MESSAGE = 0 : _
        RETURN
     RETURN 1200
'
' ****  K - COMMAND FROM MAIN MENU (KILL MESSAGE)  ****
'

'Skip to Next  --------
3950 GOSUB 5344
     CALL KILLMSG (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)
'************************
' CHANGES for 07/27/89
' CALL THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)
' the above code gets placed in RBBSSUB2.BAS and only updates
'  the field if a message is actually killed
4040 IF TEMP < Q THEN _
        TEMP = TEMP + 1 : _
        GOTO 3935
     IF KILL.MESSAGE THEN _
        RETURN
     GOTO 3930
'
' ****  Sysop Available toggle

'Skip to Next ........


4613  CALL THREAD3(CURRENT.MESSAGE,GRN$)
       GOSUB 9000
       IF JUST.SEARCHING THEN _
          GOTO 4625
       IF MESSAGES.SELECTED.INDEX > NUMBER.MESSAGES.SELECTED THEN _
          GOTO 4650
       CALL SKIPLINE (1)
4614   GOSUB 41000

End of Thrd-Mod to RBBS-PC.BAS

'=======================================
RBBSSUB1.BAS

59660 SUB PUTWORK (STRNG$,REC.NUM,REC.LEN) STATIC
      ON ERROR GOTO 65000
      FIELD #2,REC.LEN AS UPLOAD.RECORD$
      LSET UPLOAD.RECORD$ = STRNG$
      REC.NUM = REC.NUM + 1
      PUT #2,REC.NUM
      END SUB
'********************************************************************
'  THREAD1            First message thread routine                  *
'  THREAD2            Second message thread routine                 *
'  THREAD3            Third message thread routine                  *
'********************************************************************
'===========================================================================


' $SUBTITLE: 'THREAD1 - create/update threaded message file'
' $PAGE
'
'  SUBROUTINE NAME    -- THREAD1
'
'  INPUT PARAMETERS   --    PARAMETER              MEANING
'                           HIGH.MESSAGE.NUMBER    This reply's message number
'                           CURRENT.MESSAGE        Message number being replied
'
'  OUTPUT PARAMETERS  --     <<NONE>>
'
'  SUBROUTINE PURPOSE -- SUBROUTINE TO...
'
      SUB THREAD1 (HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$) STATIC
        IF INSTR(GRN$," ") = 0 THEN   'PE102587
         FILE.NAME$ = GRN$ + "T"  'PE102587
        ELSE
           FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE102587
      END IF
      CURRENT.MESSAGE$ = STR$(CURRENT.MESSAGE)
      HIGH.MESSAGE.NUMBER$ = STR$(HIGH.MESSAGE.NUMBER)
      OPEN "R",9,FILE.NAME$,12
      FIELD 9, 6 AS CM$, 6 AS HMN$
      LSET CM$ = CURRENT.MESSAGE$
      LSET HMN$ = HIGH.MESSAGE.NUMBER$
      PUT #9,INT(LOF(9)/12)+1
      CLOSE (9)
59670 END SUB       ' THREAD1
'
' $SUBTITLE: 'THREAD2 - a message was killed - check threaded message file'
' $PAGE
'
'  SUBROUTINE NAME    -- THREAD2
'
'  INPUT PARAMETERS   --    PARAMETER              MEANING
'                           MESSAGE.TO.KILL        Killed message's number
'
'  OUTPUT PARAMETERS  --     <<NONE>>
'
'  SUBROUTINE PURPOSE -- SUBROUTINE TO ...
'
      SUB THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$) STATIC
      IF INSTR(GRN$," ") = 0 THEN     'PE102587
        FILE.NAME$ = GRN$ + "T"
      ELSE
        FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
      END IF
      OPEN "R",9,FILE.NAME$,12
      FIELD 9, 6 AS CM$, 6 AS HMN$
       FOR I = 1 TO INT(LOF(9)/12)
          GET 9,I
          IF VAL(CM$) = MESSAGE.TO.KILL THEN     ' MARK THE RECORD
             LSET CM$ = LEFT$(CM$,5) + "K"
             PUT 9,I
          ELSE 
           IF VAL(HMN$) = MESSAGE.TO.KILL THEN     ' MARK THE RECORD
              LSET HMN$ = LEFT$(HMN$,5) + "K"
              LSET CM$ = LEFT$(CM$,5) + "K"
             PUT 9,I
          END IF
       END IF
      NEXT I
      CLOSE (9)
59680 END SUB      ' THREAD2
'
' $SUBTITLE: 'THREAD3 - a message was killed - check threaded message file'
' $PAGE
'
'  SUBROUTINE NAME    -- THREAD3
'
'  INPUT PARAMETERS   --    PARAMETER              MEANING
'                           CURRENT.MESSAGE        Message's number
'
'  OUTPUT PARAMETERS  --     <<NONE>>
'
'  SUBROUTINE PURPOSE -- SUBROUTINE TO ...
'
      SUB THREAD3 (CURRENT.MESSAGE,GRN$) STATIC
'
'
IF JUST.SEARCHING THEN _            'PE 01/16/89
 EXIT SUB                           'PE 01/16/89
'
'
      IF INSTR(GRN$," ") = 0 THEN
         FILE.NAME$ = GRN$ + "T"
       ELSE
         FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
      END IF
       OPEN "R",9,FILE.NAME$,12 
       FIELD 9, 6 AS CM$, 6 AS HMN$
      AA$ = ""
      ZZ$ = ""
      FOR I = 1 TO INT(LOF(9)/12)
          GET 9,I
         IF RIGHT$(HMN$,1) = "K" THEN 59690
         IF VAL(CM$) = CURRENT.MESSAGE AND RIGHT$(HMN$,1) <> "K" THEN 
                AA$ = AA$ + HMN$
         END IF 
          IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) = "K" THEN
                ZZ$ = LEFT$(CM$,5) + FG.1$+"(deleted) "+EMPHASIZE.OFF$
         END IF
          IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) <> "K" THEN 
                ZZ$ = CM$
         END IF
59690 NEXT I
      IF LEN(AA$) > 0 THEN 
CALL QTPUT(FG.3$+"   Reply(ies) in message number(s): "+FG.4$ + AA$+EMPHASIZE.OFF$,1)
      END IF
      IF LEN(ZZ$) > 0 THEN 
CALL QTPUT (FG.4$+"   This message is in reply to message " +FG.1$+ ZZ$+EMPHASIZE.OFF$,1)
      END IF
CALL QTPUT (FG.3$+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+EMPHASIZE.OFF$,1)
      CLOSE (9)
59695 END SUB      ' THREAD3
'
' $SUBTITLE: 'THREAD4 - UPDATE CONFR.DEF FILE FOR MESSAGE RECOVERY'
' $PAGE
'
'  SUBROUTINE NAME    -- THREAD4
'
'  INPUT PARAMETERS   --    PARAMETER            MEANING
'
'                           MESSAGE.TO.RECOVER   MESSAGE NUMBER BEING RECOVERED
'                           FIRST.MESSAGE.RECORD NOT USED HERE BUT PASSED IN
'                                                FROM RBBS CALL TO SUB2
'                           ACTION.FLAG          PASSED FROM SUB2 NEEDED TO
'                                                GIVE BACK TO RBBS MAIN CODE
'                           GRN$                 CONFERENCE NAME
'
'  OUTPUT PARAMETERS  --      <<NONE>>
'
'  SUBROUTINE PURPOSE -- SUBROUTINE - UPDATE CONFR.DEF FILE AFTER MSG RECVRY
'
      SUB THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGES.RECORD,ACTION.FLAG,GRN$) STATIC
      IF INSTR(GRN$," ") = 0 THEN
         FILE.NAME$ = GRN$ + "T"
      ELSE
         FILE.NAME$ = LEFT$(GRN$,INSTR(GRN$," ")-1)+"T"
      END IF
      OPEN "R",9,FILE.NAME$,12                           'WILL CREATE FILE IF NOT EXIST
      FIELD 9, 6 AS CM$, 6 AS HMN$
      FOR I = 1 TO INT(LOF(9)/12)
          GET 9,I
          IF VAL(CM$) = MESSAGE.TO.RECOVER THEN
             LSET CM$ = LEFT$(CM$,5) + " "
             PUT 9,I
          ELSE
              IF VAL(HMN$) = MESSAGE.TO.RECOVER THEN
                 LSET HMN$ = LEFT$(HMN$,5) + " "
                 LSET CM$ = LEFT$(CM$,5) + " "
                 PUT 9,I
              END IF
          END IF
      NEXT I
      CLOSE (9)
59698 END SUB    'THREAD4
'
'
'
'============================ End of Mods to Sub 1
'
'
Mods to RBBSSUB2.BAS
'
'Skip to ............

4030 LSET MESSAGE.RECORD$ = LEFT$(MESSAGE.RECORD$,115) + _
                            DELETED.MESSAGE$ + _
                            MID$(MESSAGE.RECORD$,117)
     PUT 1,LOC(1)
     A$ = CX$(1)+"Killed Msg # " +CX$(3)+ _
          STR$(MESSAGE.TO.KILL)+CX$(7)
     CALL THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$)  'PE 01/12/89
     SUBROUTINE.PARAMETER = 4
     CALL FILELOCK                                'KG011804 
     SUBROUTINE.PARAMETER = 5
     CALL TPUT
     EXIT SUB
4031 SUBROUTINE.PARAMETER = 5
'
'
'Skip to Next......
'
10450 IF INSTR(MESSAGE.RECORD$,DELETED.MESSAGE$) <> 0 THEN _
         SUBROUTINE.PARAMETER = 3 : _
         CALL TPUT : _
         LSET MESSAGE.RECORD$ = LEFT$(MESSAGE.RECORD$,115) + _
                                ACTIVE.MESSAGE$ + _
                                MID$(MESSAGE.RECORD$,117) : _
         PUT 1,LOC(1) : _
         SUBROUTINE.PARAMETER = 4 : _
         CALL TPUT : _
         A$ = "Restored Msg #" + _
              STR$(MESSAGE.TO.RECOVER) : _
         ACTION.FLAG = TRUE : _
 CALL THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGE.RECORD,ACTION.FLAG,GRN$) : _ 
         GOTO 10485
10480 A$ = "Msg #" + _
'
' Rest the same


END of THREAD Mods to RBBS 17a



Enjoy...Pete Eibl (Maple Street BBS 414-771-2805)
