Message Tracking Mod

==================================
THE OPERATING ROOM
502-xxx-xxxx
Gary Allen, M.D. – SysOp

Message Tracing Mod for msg.seg.s
==================================

This mod was designed to allow the caller to “trace” a message posted back to the originator of the post. Basically, if the caller enters “T” he will be shown the message that the present message is a reply to. (Is that about as clear as mud?) From there, he can either hit “N” and go to the next consecutive message, “C” to return to where the Trace first began, or “T” to further trace back through the messages. The number of traces is only limited by the actual number of linked messages, and in all cases, “C” will return you to your original message read on that call. In addition, I’ve added a short “help” display with the “?” since the number of possible responses has increased.

A number of small changes are necessary in the program in order to avoid an error occurring, but these are rather simple. I’ve “zeroed” a variable in a few spots that might not be necessary, but I thought it wise to be sure. If your message.seg is as highly modified as mine, you might need to slightly alter this code, but I think it should fit right in. Here we go:

1. Under the label.. bl.start…. add this as the first line:
om=0

2. Under the label.. bl.cmd2… change this line:
if i$=”L” or i$=”P” then sb$=””:goto bl.post
to:
if i$=”L” or i$=”P” then sb$=””:m9=0:goto bl.post

3. Under the label.. bl.post2… Change the line.. if (kl>0) and… to:
if (kl>0) and (kl<=msg(0)) kill #msg(kb):crunch:b=b-1:if pm<>0 pm=pm-1

Also, add to the line:
a=msg(0)+1:print #msg(a),un,sb$ ..add ,m9 at the end so that it reads:
a=msg(0)+1:print #msg(a),un,sb$,m9
(This is the variable that you will be adding to the message that points to the linked message).

4. Under the label.. bl.kill…add to the line:
input #msg(a),x,a$….. add ,o7 to the end.
(This is a dummy variable to make your subject title display correctly when you do a kill… otherwise it will say “Subj-> re:Sample,1023″ with the 1023 being the value of the link number.)

5. Under the label.. bl.scan2… add to the line:
flag(a-ms)=0:input #msg(a),b,t$… add ,o7 to the end.

6. Immediately under the label bl.qscan, add:
om=0

7. Under the label.. bl.show1.. change the line:
input #msg(a),d,sb$:setint(2)
to:
input #msg(a),d,sb$,om:setint(2)

8. Now the real meat of the program….Under the label bl.show2.. delete the line that starts with.. print \”[A]uto-reply… and add these two lines:

print\”[A]uto-reply [N]ext [R]eread [Q]uit [+]”
print “[T]race [C]ontinue [K]ill [E]dit [?]: “;

Then, somewhere in this same label where the if i$=… stuff is, add these lines:

if i$=”?” goto bl.showhelp
if i$=”T” and (not om) print “No link available.”:goto bl.show2
if i$=”T” and (not pm) then pm=a
if i$=”T” gosub bl.show3:goto bl.show1
if i$=”C” and (pm<>0) a=pm:pm=0:goto bl.show
if i$=”C” print “You haven’t Traced yet!”:goto bl.show2

Change the last line of this label to read:
gosub bl.kill2:a=a-1:if pm<>0 then pm=pm-1:return
return

9. Add this whole section after the bl.show2 label:

bl.showhelp
print\”=======================================”
print ” [A]uto-reply to the bulletin above”
print ” [N]ext bulletin”
print ” [R]e-read the previous bulletin”
print ” [Q]uit reading these bulletins”
print ” [+] Read bulletins without stopping”
print ” [T]race back to bulletin replied to”
print ” [C]ontinue to where you left off”
print ” [K]ill a bulletin you posted”
print ” [E]dit a bulletin you posted”
print “=======================================”
goto bl.show2

bl.show3
a=a-1:if a=0 print “Linking message no longer present.”:a=pm:pm=0:return
input #msg(a),d,sb$,o8:if om=msg(a) return:else goto bl.show3

(You might look and see if you already have a bl.show3… if so, put this
in
before it.)

10. Under bl.show4, in the line:
edit(0):input #msg(a),b,a$\i$:copy #6,#8…. change it to:
edit(0):input #msg(a),b,a$,o7\i$:copy #6,#8

and in the line that begins: x=msg(a):kill….. change it to:
x=msg(a):kill #msg(a):print #msg(a),b,a$,o7\i$

11. Finally! In bl.show5, add this line above the line.. open
#1,”b:users…
m9=msg(a)
(If you don’t have a bl.show5, just keep looking down from bl.show4
and add it above the ..open #1,”b:users… line.)

I believe that is all I have added… If you have any problems let me know. I have allowed for killed messages, and for the auto-kill if the board is full as far as number of messages so that the “C” will still go back to the proper message. If you like this mod DON’T FORGET WHERE YOU GOT IT! and give me a call to let me know you like it… you might even leave me some nice mod you have….
Gary