Change WOPO to use new channel API
This commit is contained in:
parent
3672a77a4a
commit
922438fe79
1 changed files with 74 additions and 97 deletions
171
WOPO.COB
171
WOPO.COB
|
@ -34,8 +34,8 @@
|
||||||
88 SUCCESS VALUE 0.
|
88 SUCCESS VALUE 0.
|
||||||
88 DONE VALUE 99.
|
88 DONE VALUE 99.
|
||||||
01 BUFFER.
|
01 BUFFER.
|
||||||
03 MSG-LENGTH PIC 9(3).
|
03 MSG-BODY PIC X(999).
|
||||||
03 MSG-BODY PIC X(512).
|
03 ASCII-TABLE PIC 999 OCCURS 999 TIMES.
|
||||||
01 WOPO.
|
01 WOPO.
|
||||||
03 WOPO-NICK PIC X(16).
|
03 WOPO-NICK PIC X(16).
|
||||||
01 IRC-MESSAGE.
|
01 IRC-MESSAGE.
|
||||||
|
@ -52,8 +52,10 @@
|
||||||
05 TARGET PIC X(50).
|
05 TARGET PIC X(50).
|
||||||
05 REST PIC X(480).
|
05 REST PIC X(480).
|
||||||
01 WAITING-COMMAND PIC X(16).
|
01 WAITING-COMMAND PIC X(16).
|
||||||
|
|
||||||
01 PARAMS.
|
01 PARAMS.
|
||||||
03 WORK PIC X(480).
|
03 WORK PIC X(480).
|
||||||
|
03 WORK-PTR PIC 999 USAGE COMPUTATION.
|
||||||
03 WORK-PREFIX REDEFINES WORK PIC X.
|
03 WORK-PREFIX REDEFINES WORK PIC X.
|
||||||
88 IS-COMMAND VALUE "$".
|
88 IS-COMMAND VALUE "$".
|
||||||
03 PARAM PIC X(480) OCCURS 5 TIMES.
|
03 PARAM PIC X(480) OCCURS 5 TIMES.
|
||||||
|
@ -76,62 +78,51 @@
|
||||||
PROCEDURE DIVISION.
|
PROCEDURE DIVISION.
|
||||||
DISPLAY "CONFIGURATION FOLLOWS.".
|
DISPLAY "CONFIGURATION FOLLOWS.".
|
||||||
CALL "PRINT-CONFIG".
|
CALL "PRINT-CONFIG".
|
||||||
MOVE LENGTH OF MSG-BODY TO MSG-LENGTH.
|
|
||||||
CALL "CHANNEL-INIT"
|
|
||||||
USING BUFFER, STATE.
|
|
||||||
OPEN INPUT CONFIG.
|
OPEN INPUT CONFIG.
|
||||||
MOVE "SERVER" TO CONFIG-KEY.
|
MOVE "SERVER" TO CONFIG-KEY.
|
||||||
PERFORM READ-CONFIG-ENTRY.
|
PERFORM READ-CONFIG-ENTRY.
|
||||||
MOVE 1 TO MSG-LENGTH.
|
|
||||||
STRING
|
STRING
|
||||||
CONFIG-VALUE, DELIMITED BY SPACE,
|
CONFIG-VALUE, DELIMITED BY SPACE,
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY,
|
INTO MSG-BODY,
|
||||||
WITH POINTER MSG-LENGTH.
|
CALL "CHANNEL-OPEN" USING MSG-BODY, STATE.
|
||||||
CALL "CHANNEL-OPEN".
|
|
||||||
IF NOT SUCCESS THEN DISPLAY MSG-BODY
|
IF NOT SUCCESS THEN DISPLAY MSG-BODY
|
||||||
GO TO DIE.
|
GO TO DIE.
|
||||||
MOVE "PASS" TO CONFIG-KEY.
|
MOVE "PASS" TO CONFIG-KEY.
|
||||||
READ CONFIG RECORD
|
READ CONFIG RECORD
|
||||||
INVALID KEY MOVE SPACES TO CONFIG-VALUE.
|
INVALID KEY MOVE SPACES TO CONFIG-VALUE.
|
||||||
IF CONFIG-VALUE IS NOT EQUAL TO SPACES THEN
|
IF CONFIG-VALUE IS NOT EQUAL TO SPACES THEN
|
||||||
MOVE SPACES TO MSG-BODY
|
|
||||||
MOVE 1 TO MSG-LENGTH
|
|
||||||
STRING "PASS " DELIMITED BY SIZE,
|
STRING "PASS " DELIMITED BY SIZE,
|
||||||
CONFIG-VALUE DELIMITED BY SPACE,
|
CONFIG-VALUE DELIMITED BY SPACE,
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
MOVE "NICK" TO CONFIG-KEY.
|
MOVE "NICK" TO CONFIG-KEY.
|
||||||
PERFORM READ-CONFIG-ENTRY.
|
PERFORM READ-CONFIG-ENTRY.
|
||||||
MOVE CONFIG-VALUE TO WOPO-NICK.
|
MOVE CONFIG-VALUE TO WOPO-NICK.
|
||||||
MOVE 1 TO MSG-LENGTH.
|
|
||||||
MOVE SPACES TO MSG-BODY.
|
MOVE SPACES TO MSG-BODY.
|
||||||
STRING "NICK"
|
STRING "NICK " DELIMITED BY SIZE,
|
||||||
INTO MSG-BODY
|
WOPO-NICK DELIMITED BY SPACES,
|
||||||
WITH POINTER MSG-LENGTH.
|
"$NUL$"
|
||||||
ADD 1 TO MSG-LENGTH.
|
INTO MSG-BODY.
|
||||||
STRING WOPO-NICK DELIMITED BY SPACE,
|
|
||||||
INTO MSG-BODY
|
|
||||||
WITH POINTER MSG-LENGTH.
|
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
MOVE 1 TO MSG-LENGTH.
|
|
||||||
MOVE SPACES TO MSG-BODY.
|
MOVE SPACES TO MSG-BODY.
|
||||||
STRING "USER"
|
MOVE 1 TO WORK-PTR.
|
||||||
|
STRING "USER " DELIMITED BY SIZE
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
ADD 1 TO MSG-LENGTH.
|
|
||||||
MOVE "IDENT" TO CONFIG-KEY.
|
MOVE "IDENT" TO CONFIG-KEY.
|
||||||
PERFORM READ-CONFIG-ENTRY.
|
PERFORM READ-CONFIG-ENTRY.
|
||||||
STRING CONFIG-VALUE DELIMITED BY SPACE,
|
STRING CONFIG-VALUE DELIMITED BY SPACE,
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
ADD 1 TO MSG-LENGTH.
|
ADD 1 TO WORK-PTR.
|
||||||
MOVE "REAL-NAME" TO CONFIG-KEY.
|
MOVE "REAL-NAME" TO CONFIG-KEY.
|
||||||
PERFORM READ-CONFIG-ENTRY.
|
PERFORM READ-CONFIG-ENTRY.
|
||||||
STRING "BOGUS HOST; " DELIMITED BY SIZE,
|
STRING "BOGUS HOST $COLN$" DELIMITED BY SIZE,
|
||||||
CONFIG-VALUE DELIMITED BY " ",
|
CONFIG-VALUE DELIMITED BY " ",
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
OPEN INPUT CHANNELS.
|
OPEN INPUT CHANNELS.
|
||||||
PERFORM AUTOJOIN-CHANNELS UNTIL DONE.
|
PERFORM AUTOJOIN-CHANNELS UNTIL DONE.
|
||||||
|
@ -147,11 +138,10 @@
|
||||||
READ CHANNELS RECORD
|
READ CHANNELS RECORD
|
||||||
AT END MOVE 99 TO STATE.
|
AT END MOVE 99 TO STATE.
|
||||||
IF NOT DONE THEN
|
IF NOT DONE THEN
|
||||||
MOVE 1 TO MSG-LENGTH
|
|
||||||
STRING "JOIN " DELIMITED BY SIZE,
|
STRING "JOIN " DELIMITED BY SIZE,
|
||||||
CHANNEL-NAME DELIMITED BY SPACES,
|
CHANNEL-NAME DELIMITED BY SPACES,
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
READ-CONFIG-ENTRY.
|
READ-CONFIG-ENTRY.
|
||||||
|
@ -160,16 +150,15 @@
|
||||||
DISPLAY CONFIG-KEY
|
DISPLAY CONFIG-KEY
|
||||||
GO TO DIE.
|
GO TO DIE.
|
||||||
|
|
||||||
SEND-LINE.
|
SEND-LINE.
|
||||||
CALL "CHANNEL-SEND".
|
CALL "CHANNEL-SEND" USING MSG-BODY, STATE.
|
||||||
IF NOT SUCCESS THEN DISPLAY MSG-BODY
|
IF NOT SUCCESS THEN DISPLAY MSG-BODY
|
||||||
GO TO DIE.
|
GO TO DIE.
|
||||||
|
|
||||||
RECEIVE-LINE.
|
RECEIVE-LINE.
|
||||||
MOVE SPACES TO MSG-BODY.
|
CALL "CHANNEL-RECV" USING MSG-BODY, STATE.
|
||||||
CALL "CHANNEL-RECV".
|
|
||||||
IF NOT SUCCESS THEN GO TO DIE.
|
IF NOT SUCCESS THEN GO TO DIE.
|
||||||
CALL "IRC-MSG" USING BUFFER, IRC-MESSAGE.
|
CALL "IRC-MSG" USING MSG-BODY, IRC-MESSAGE.
|
||||||
|
|
||||||
WAIT-FOR-COMMAND.
|
WAIT-FOR-COMMAND.
|
||||||
PERFORM RECEIVE-LINE UNTIL COMMAND EQUALS WAITING-COMMAND.
|
PERFORM RECEIVE-LINE UNTIL COMMAND EQUALS WAITING-COMMAND.
|
||||||
|
@ -191,14 +180,10 @@
|
||||||
D DISPLAY "SUPPOSED USER LEVEL ", USER-LEVEL.
|
D DISPLAY "SUPPOSED USER LEVEL ", USER-LEVEL.
|
||||||
IF USER-LEVEL IS GREATER THAN 0 THEN
|
IF USER-LEVEL IS GREATER THAN 0 THEN
|
||||||
MOVE SPACES TO MSG-BODY
|
MOVE SPACES TO MSG-BODY
|
||||||
MOVE 1 TO MSG-LENGTH
|
STRING "PRIVMSG NICKSERV $COLN$ ACC " DELIMITED BY SIZE
|
||||||
STRING "PRIVMSG NICKSERV ;ACC"
|
NICK DELIMITED BY SPACE
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
ADD 1 TO MSG-LENGTH
|
|
||||||
STRING NICK
|
|
||||||
INTO MSG-BODY
|
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
MOVE "NOTICE" TO WAITING-COMMAND
|
MOVE "NOTICE" TO WAITING-COMMAND
|
||||||
MOVE 0 TO STATE
|
MOVE 0 TO STATE
|
||||||
|
@ -236,81 +221,75 @@
|
||||||
*THE REPLY FUNCTIONS NEED NICK, COMMAND, AND TARGET PRESERVED.
|
*THE REPLY FUNCTIONS NEED NICK, COMMAND, AND TARGET PRESERVED.
|
||||||
BEGIN-REPLY.
|
BEGIN-REPLY.
|
||||||
MOVE SPACES TO MSG-BODY.
|
MOVE SPACES TO MSG-BODY.
|
||||||
MOVE 1 TO MSG-LENGTH.
|
MOVE 1 TO WORK-PTR.
|
||||||
STRING COMMAND
|
STRING COMMAND DELIMITED BY SPACES
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
ADD 1 TO MSG-LENGTH.
|
ADD 1 TO WORK-PTR.
|
||||||
IF TARGET IS EQUAL TO WOPO-NICK THEN
|
IF TARGET IS EQUAL TO WOPO-NICK THEN
|
||||||
STRING NICK DELIMITED BY SPACE
|
STRING NICK DELIMITED BY SPACE
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
ELSE
|
ELSE
|
||||||
STRING TARGET DELIMITED BY SPACE
|
STRING TARGET DELIMITED BY SPACE
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
ADD 1 TO MSG-LENGTH.
|
ADD 1 TO WORK-PTR.
|
||||||
STRING ";"
|
STRING "$COLN$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
IF TARGET IS NOT EQUAL TO WOPO-NICK THEN
|
IF TARGET IS NOT EQUAL TO WOPO-NICK THEN
|
||||||
STRING NICK DELIMITED BY SPACES
|
STRING NICK DELIMITED BY SPACES
|
||||||
". " DELIMITED BY SIZE
|
". " DELIMITED BY SIZE
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
|
|
||||||
REPLY-ACK.
|
REPLY-ACK.
|
||||||
PERFORM BEGIN-REPLY.
|
PERFORM BEGIN-REPLY.
|
||||||
STRING "OK."
|
STRING "OK.$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
PONG.
|
PONG.
|
||||||
MOVE SPACES TO MSG-BODY.
|
STRING "PONG$NUL$"
|
||||||
MOVE 1 TO MSG-LENGTH.
|
INTO MSG-BODY.
|
||||||
STRING "PONG"
|
|
||||||
INTO MSG-BODY
|
|
||||||
WITH POINTER MSG-LENGTH.
|
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-KICK.
|
HANDLE-KICK.
|
||||||
PERFORM GET-PARAMS.
|
PERFORM GET-PARAMS.
|
||||||
IF PARAM(1) IS EQUAL TO WOPO-NICK THEN
|
IF PARAM(1) IS EQUAL TO WOPO-NICK THEN
|
||||||
MOVE SPACES TO MSG-BODY
|
MOVE SPACES TO MSG-BODY
|
||||||
MOVE 1 TO MSG-LENGTH
|
|
||||||
STRING "JOIN " DELIMITED BY SIZE,
|
STRING "JOIN " DELIMITED BY SIZE,
|
||||||
TARGET DELIMITED BY SPACES
|
TARGET DELIMITED BY SPACES
|
||||||
INTO MSG-BODY
|
"$NUL$"
|
||||||
WITH POINTER MSG-LENGTH
|
INTO MSG-BODY
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
MOVE 1 TO MSG-LENGTH
|
MOVE 1 TO WORK-PTR
|
||||||
UNSTRING REST DELIMITED BY ";"
|
UNSTRING REST DELIMITED BY "$COLN$"
|
||||||
INTO WORK
|
INTO WORK
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
UNSTRING REST
|
UNSTRING REST
|
||||||
INTO WORK
|
INTO WORK
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
IF WORK IS NOT EQUAL TO WOPO-NICK THEN
|
IF WORK IS NOT EQUAL TO WOPO-NICK THEN
|
||||||
MOVE SPACES TO MSG-BODY
|
MOVE SPACES TO MSG-BODY
|
||||||
MOVE 1 TO MSG-LENGTH
|
|
||||||
STRING "PRIVMSG " DELIMITED BY SIZE,
|
STRING "PRIVMSG " DELIMITED BY SIZE,
|
||||||
TARGET DELIMITED BY SPACES,
|
TARGET DELIMITED BY SPACES,
|
||||||
" :" DELIMITED BY SIZE,
|
" $COLN$" DELIMITED BY SIZE,
|
||||||
NICK DELIMITED BY SPACES,
|
NICK DELIMITED BY SPACES,
|
||||||
". " DELIMITED BY SIZE,
|
". " DELIMITED BY SIZE,
|
||||||
WORK
|
WORK DELIMITED BY "$NUL$",
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
MOVE 513 TO MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-MESSAGE.
|
HANDLE-MESSAGE.
|
||||||
PERFORM GET-PARAMS.
|
PERFORM GET-PARAMS.
|
||||||
IF IS-COMMAND THEN
|
IF IS-COMMAND THEN
|
||||||
MOVE 2 TO MSG-LENGTH
|
MOVE 2 TO WORK-PTR
|
||||||
UNSTRING WORK INTO PARAM(1)
|
UNSTRING WORK INTO PARAM(1)
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
D DISPLAY "COMMAND BODY ", PARAM(1)
|
D DISPLAY "COMMAND BODY ", PARAM(1)
|
||||||
IF PARAM(1) IS EQUAL TO "HELP" THEN
|
IF PARAM(1) IS EQUAL TO "HELP" THEN
|
||||||
PERFORM HANDLE-HELP
|
PERFORM HANDLE-HELP
|
||||||
|
@ -344,21 +323,21 @@
|
||||||
- "$HELP $LEVEL $JOIN $PART $QUIT $RELEVEL $SHITFED "
|
- "$HELP $LEVEL $JOIN $PART $QUIT $RELEVEL $SHITFED "
|
||||||
- "$SOURCE"
|
- "$SOURCE"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-SHITFED.
|
HANDLE-SHITFED.
|
||||||
PERFORM BEGIN-REPLY.
|
PERFORM BEGIN-REPLY.
|
||||||
STRING "LEAVE MY CASE ALONE, ASSHOLE."
|
STRING "LEAVE MY CASE ALONE, ASSHOLE."
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-SOURCE.
|
HANDLE-SOURCE.
|
||||||
PERFORM BEGIN-REPLY.
|
PERFORM BEGIN-REPLY.
|
||||||
STRING "HTTPS;//GITHUB.COM/HEDDWCH/WOPO"
|
STRING "HTTPS$COLN$//GITHUB.COM/HEDDWCH/WOPO"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-LEVEL.
|
HANDLE-LEVEL.
|
||||||
|
@ -371,7 +350,7 @@
|
||||||
PERFORM BEGIN-REPLY
|
PERFORM BEGIN-REPLY
|
||||||
STRING USER-RECORD
|
STRING USER-RECORD
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-JOIN.
|
HANDLE-JOIN.
|
||||||
|
@ -384,10 +363,10 @@
|
||||||
IF USER-LEVEL IS GREATER THAN 80 AND
|
IF USER-LEVEL IS GREATER THAN 80 AND
|
||||||
REG(1) IS NOT EQUAL TO "0" THEN
|
REG(1) IS NOT EQUAL TO "0" THEN
|
||||||
MOVE SPACES TO MSG-BODY
|
MOVE SPACES TO MSG-BODY
|
||||||
MOVE 1 TO MSG-LENGTH
|
STRING "JOIN ", DELIMITED BY SIZE,
|
||||||
STRING "JOIN ", REG(1)
|
REG(1), DELIMITED BY SPACES,
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
* RESTORE NICK AND TARGET, THEN REPLY.
|
* RESTORE NICK AND TARGET, THEN REPLY.
|
||||||
MOVE REG(2) TO NICK
|
MOVE REG(2) TO NICK
|
||||||
|
@ -411,10 +390,10 @@
|
||||||
MOVE REG(4) TO TARGET
|
MOVE REG(4) TO TARGET
|
||||||
PERFORM REPLY-ACK
|
PERFORM REPLY-ACK
|
||||||
MOVE SPACES TO MSG-BODY
|
MOVE SPACES TO MSG-BODY
|
||||||
MOVE 1 TO MSG-LENGTH
|
STRING "PART " DELIMITED BY SIZE,
|
||||||
STRING "PART ", REG(1)
|
REG(1) DELIMITED BY SPACES,
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-QUIT.
|
HANDLE-QUIT.
|
||||||
|
@ -433,10 +412,9 @@
|
||||||
MOVE REG(3) TO TARGET
|
MOVE REG(3) TO TARGET
|
||||||
PERFORM REPLY-ACK
|
PERFORM REPLY-ACK
|
||||||
MOVE SPACES TO MSG-BODY
|
MOVE SPACES TO MSG-BODY
|
||||||
MOVE 1 TO MSG-LENGTH
|
STRING "QUIT $COLN$" DELIMITED BY SIZE,
|
||||||
STRING "QUIT ;", CONFIG-VALUE
|
CONFIG-VALUE,
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
GO TO QUIT.
|
GO TO QUIT.
|
||||||
|
|
||||||
|
@ -462,16 +440,17 @@
|
||||||
PERFORM BEGIN-REPLY.
|
PERFORM BEGIN-REPLY.
|
||||||
STRING USER-RECORD
|
STRING USER-RECORD
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-BF-CODE.
|
HANDLE-BF-CODE.
|
||||||
IF PARAM(2) IS EQUAL TO SPACES THEN
|
IF PARAM(2) IS EQUAL TO SPACES THEN
|
||||||
PERFORM BEGIN-REPLY
|
PERFORM BEGIN-REPLY
|
||||||
STRING "CODE. " DELIMITED BY SIZE,
|
STRING "CODE. " DELIMITED BY SIZE,
|
||||||
BF-CODE DELIMITED BY " "
|
BF-CODE DELIMITED BY " ",
|
||||||
|
"$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
ELSE
|
ELSE
|
||||||
MOVE PARAM(2) TO REG(1)
|
MOVE PARAM(2) TO REG(1)
|
||||||
|
@ -495,18 +474,17 @@
|
||||||
STRING "INPUT. ",
|
STRING "INPUT. ",
|
||||||
BF-INPUT
|
BF-INPUT
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH
|
|
||||||
D DISPLAY "INPUT. ", BF-INPUT
|
D DISPLAY "INPUT. ", BF-INPUT
|
||||||
D DISPLAY "MSG-BODY. ", MSG-BODY
|
D DISPLAY "MSG-BODY. ", MSG-BODY
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
ELSE
|
ELSE
|
||||||
MOVE 1 TO MSG-LENGTH
|
MOVE 1 TO WORK-PTR
|
||||||
UNSTRING REST DELIMITED BY SPACE
|
UNSTRING REST DELIMITED BY SPACE
|
||||||
INTO PARAM(1)
|
INTO PARAM(1),
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
UNSTRING REST
|
UNSTRING REST DELIMITED BY SIZE
|
||||||
INTO REG(1)
|
INTO REG(1)
|
||||||
WITH POINTER MSG-LENGTH
|
WITH POINTER WORK-PTR
|
||||||
* PRESERVE VARIABLES FOR REPLY.
|
* PRESERVE VARIABLES FOR REPLY.
|
||||||
MOVE NICK TO REG(2)
|
MOVE NICK TO REG(2)
|
||||||
MOVE COMMAND TO REG(3)
|
MOVE COMMAND TO REG(3)
|
||||||
|
@ -527,7 +505,7 @@
|
||||||
STRING "OUTPUT. " DELIMITED BY SIZE,
|
STRING "OUTPUT. " DELIMITED BY SIZE,
|
||||||
BF-OUTPUT DELIMITED BY "$NUL$"
|
BF-OUTPUT DELIMITED BY "$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER MSG-LENGTH.
|
WITH POINTER WORK-PTR.
|
||||||
D DISPLAY "SENDING LINE".
|
D DISPLAY "SENDING LINE".
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
D DISPLAY "SENT LINE".
|
D DISPLAY "SENT LINE".
|
||||||
|
@ -550,7 +528,6 @@
|
||||||
MOVE REG(3) TO COMMAND
|
MOVE REG(3) TO COMMAND
|
||||||
MOVE REG(4) TO TARGET
|
MOVE REG(4) TO TARGET
|
||||||
IF USER-LEVEL > 50 THEN
|
IF USER-LEVEL > 50 THEN
|
||||||
MOVE 1 TO MSG-LENGTH
|
|
||||||
PERFORM REPLY-ACK
|
PERFORM REPLY-ACK
|
||||||
MOVE MAYBE-CYCLE-LIMIT TO CYCLE-LIMIT
|
MOVE MAYBE-CYCLE-LIMIT TO CYCLE-LIMIT
|
||||||
PERFORM BF-LIMIT-CYCLES
|
PERFORM BF-LIMIT-CYCLES
|
||||||
|
|
Loading…
Reference in a new issue