Add $SHOW-ESCAPES toggle.
This commit is contained in:
parent
043c8e4883
commit
f8a91010c8
2 changed files with 88 additions and 10 deletions
96
WOPO.COB
96
WOPO.COB
|
@ -2,6 +2,11 @@
|
||||||
PROGRAM-ID. "WOPO".
|
PROGRAM-ID. "WOPO".
|
||||||
|
|
||||||
ENVIRONMENT DIVISION.
|
ENVIRONMENT DIVISION.
|
||||||
|
CONFIGURATION SECTION.
|
||||||
|
SPECIAL-NAMES.
|
||||||
|
SWITCH-1 IS SHOW-ESCAPES
|
||||||
|
ON STATUS IS SHOULD-SHOW-ESCAPES.
|
||||||
|
|
||||||
INPUT-OUTPUT SECTION.
|
INPUT-OUTPUT SECTION.
|
||||||
FILE-CONTROL.
|
FILE-CONTROL.
|
||||||
SELECT CONFIG
|
SELECT CONFIG
|
||||||
|
@ -44,7 +49,7 @@
|
||||||
05 ASCII-CELL PIC 999 OCCURS 999 TIMES.
|
05 ASCII-CELL PIC 999 OCCURS 999 TIMES.
|
||||||
01 WOPO.
|
01 WOPO.
|
||||||
03 WOPO-NICK PIC X(16).
|
03 WOPO-NICK PIC X(16).
|
||||||
03 WORK PIC X(480).
|
03 WORK PIC X(999).
|
||||||
03 WORK-PREFIX REDEFINES WORK PIC XX.
|
03 WORK-PREFIX REDEFINES WORK PIC XX.
|
||||||
88 IS-COMMAND VALUE "$$".
|
88 IS-COMMAND VALUE "$$".
|
||||||
03 WORK-CTCP REDEFINES WORK PIC X(5).
|
03 WORK-CTCP REDEFINES WORK PIC X(5).
|
||||||
|
@ -55,6 +60,10 @@
|
||||||
03 WOPO-COUNTER PIC 9.
|
03 WOPO-COUNTER PIC 9.
|
||||||
03 MSG-BODY-TMP PIC X(999).
|
03 MSG-BODY-TMP PIC X(999).
|
||||||
|
|
||||||
|
01 USERS-HEADER.
|
||||||
|
03 FILLER PIC X(16) VALUE "USER NAME.".
|
||||||
|
03 FILLER PIC X(6) VALUE "LEVEL.".
|
||||||
|
|
||||||
01 IRC-PARAMETERS.
|
01 IRC-PARAMETERS.
|
||||||
03 NUM-PARAMS PIC 99.
|
03 NUM-PARAMS PIC 99.
|
||||||
03 PREFIX.
|
03 PREFIX.
|
||||||
|
@ -397,24 +406,28 @@
|
||||||
PERFORM HANDLE-SHITFED
|
PERFORM HANDLE-SHITFED
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "LEVEL" THEN
|
ELSE IF PARAM(1) IS EQUAL TO "LEVEL" THEN
|
||||||
PERFORM HANDLE-LEVEL
|
PERFORM HANDLE-LEVEL
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "JOIN" THEN
|
ELSE IF PARAM(1) IS EQUAL TO "LIST-USERS" THEN
|
||||||
PERFORM HANDLE-JOIN
|
PERFORM HANDLE-LIST-USERS
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "PART" THEN
|
|
||||||
PERFORM HANDLE-PART
|
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "OP" THEN
|
ELSE IF PARAM(1) IS EQUAL TO "OP" THEN
|
||||||
PERFORM HANDLE-OP
|
PERFORM HANDLE-OP
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "DEOP" THEN
|
ELSE IF PARAM(1) IS EQUAL TO "DEOP" THEN
|
||||||
PERFORM HANDLE-DEOP
|
PERFORM HANDLE-DEOP
|
||||||
|
ELSE IF PARAM(1) IS EQUAL TO "JOIN" THEN
|
||||||
|
PERFORM HANDLE-JOIN
|
||||||
|
ELSE IF PARAM(1) IS EQUAL TO "PART" THEN
|
||||||
|
PERFORM HANDLE-PART
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "QUIT" THEN
|
ELSE IF PARAM(1) IS EQUAL TO "QUIT" THEN
|
||||||
PERFORM HANDLE-QUIT
|
PERFORM HANDLE-QUIT
|
||||||
|
ELSE IF PARAM(1) IS EQUAL TO "SHOW-ESCAPES" THEN
|
||||||
|
PERFORM HANDLE-SHOW-ESCAPES
|
||||||
ELSE IF PARAM(1) IS EQUAL TO "RELEVEL" THEN
|
ELSE IF PARAM(1) IS EQUAL TO "RELEVEL" THEN
|
||||||
PERFORM HANDLE-RELEVEL.
|
PERFORM HANDLE-RELEVEL.
|
||||||
|
|
||||||
HANDLE-HELP.
|
HANDLE-HELP.
|
||||||
PERFORM BEGIN-REPLY.
|
PERFORM BEGIN-REPLY.
|
||||||
STRING "$$BF-INPUT $$BF-CODE $$BF-OUTPUT $$BF-RUN "
|
STRING "$$BF-INPUT $$BF-CODE $$BF-OUTPUT $$BF-RUN "
|
||||||
- "$$HELP $$LEVEL $$JOIN $$PART $$QUIT $$RELEVEL "
|
- "$$HELP $$LEVEL $$LIST-USERS $$JOIN $$PART "
|
||||||
- "$$SHITFED $$SOURCE $$STRESS"
|
- "$$SHOW-ESCAPES $$RELEVEL $$SOURCE $$STRESS"
|
||||||
- "$NUL$"
|
- "$NUL$"
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER WORK-PTR.
|
WITH POINTER WORK-PTR.
|
||||||
|
@ -459,11 +472,55 @@
|
||||||
MOVE NICK TO USER-NAME.
|
MOVE NICK TO USER-NAME.
|
||||||
READ USERS RECORD
|
READ USERS RECORD
|
||||||
INVALID KEY MOVE 0 TO USER-LEVEL.
|
INVALID KEY MOVE 0 TO USER-LEVEL.
|
||||||
PERFORM BEGIN-REPLY
|
PERFORM BEGIN-REPLY.
|
||||||
STRING USER-RECORD
|
MOVE 0 TO WOPO-COUNTER.
|
||||||
|
IF SHOULD-SHOW-ESCAPES THEN
|
||||||
|
D DISPLAY "USER NAME. ", USER-NAME
|
||||||
|
MOVE USER-NAME TO WORK
|
||||||
|
CALL "RE-ESCAPE" USING WORK, WOPO-COUNTER
|
||||||
|
MOVE WORK TO USER-NAME
|
||||||
|
D DISPLAY "USER NAME. ", USER-NAME.
|
||||||
|
STRING USER-NAME
|
||||||
|
INTO MSG-BODY
|
||||||
|
WITH POINTER WORK-PTR.
|
||||||
|
ADD WOPO-COUNTER TO WORK-PTR.
|
||||||
|
STRING USER-LEVEL
|
||||||
INTO MSG-BODY
|
INTO MSG-BODY
|
||||||
WITH POINTER WORK-PTR.
|
WITH POINTER WORK-PTR.
|
||||||
PERFORM SEND-LINE.
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
|
HANDLE-LIST-USERS.
|
||||||
|
CLOSE USERS.
|
||||||
|
OPEN INPUT USERS.
|
||||||
|
MOVE 0 TO STATE.
|
||||||
|
PERFORM BEGIN-REPLY.
|
||||||
|
STRING USERS-HEADER INTO MSG-BODY WITH POINTER WORK-PTR.
|
||||||
|
PERFORM SEND-LINE.
|
||||||
|
PERFORM LIST-USER-RECORD UNTIL DONE.
|
||||||
|
CLOSE USERS.
|
||||||
|
OPEN I-O USERS.
|
||||||
|
|
||||||
|
LIST-USER-RECORD.
|
||||||
|
READ USERS NEXT RECORD, AT END MOVE 99 TO STATE.
|
||||||
|
MOVE 0 TO WOPO-COUNTER.
|
||||||
|
IF SHOULD-SHOW-ESCAPES THEN
|
||||||
|
D DISPLAY "USER NAME. ", USER-NAME
|
||||||
|
MOVE USER-NAME TO WORK
|
||||||
|
CALL "RE-ESCAPE" USING WORK, WOPO-COUNTER
|
||||||
|
MOVE WORK TO USER-NAME
|
||||||
|
D DISPLAY "USER NAME. ", USER-NAME.
|
||||||
|
IF NOT DONE THEN
|
||||||
|
PERFORM BEGIN-REPLY
|
||||||
|
STRING USER-NAME
|
||||||
|
INTO MSG-BODY
|
||||||
|
WITH POINTER WORK-PTR
|
||||||
|
ADD WOPO-COUNTER TO WORK-PTR
|
||||||
|
STRING USER-LEVEL
|
||||||
|
INTO MSG-BODY
|
||||||
|
WITH POINTER WORK-PTR
|
||||||
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HANDLE-JOIN.
|
HANDLE-JOIN.
|
||||||
PERFORM VALIDATE-USER.
|
PERFORM VALIDATE-USER.
|
||||||
|
@ -571,6 +628,25 @@
|
||||||
PERFORM SEND-LINE
|
PERFORM SEND-LINE
|
||||||
GO TO QUIT.
|
GO TO QUIT.
|
||||||
|
|
||||||
|
HANDLE-SHOW-ESCAPES.
|
||||||
|
PERFORM VALIDATE-USER.
|
||||||
|
PERFORM BEGIN-REPLY.
|
||||||
|
STRING "SHOW-ESCAPES " INTO MSG-BODY WITH POINTER WORK-PTR.
|
||||||
|
IF USER-LEVEL IS NOT LESS THAN 90 THEN
|
||||||
|
IF PARAM(2) IS NOT EQUAL TO SPACES THEN
|
||||||
|
IF PARAM(2) IS EQUAL TO "ON" THEN
|
||||||
|
SET SHOW-ESCAPES TO ON
|
||||||
|
ELSE IF PARAM(2) IS EQUAL TO "OFF" THEN
|
||||||
|
SET SHOW-ESCAPES TO OFF
|
||||||
|
ELSE NEXT SENTENCE
|
||||||
|
ELSE IF SHOULD-SHOW-ESCAPES THEN
|
||||||
|
SET SHOW-ESCAPES TO OFF
|
||||||
|
ELSE SET SHOW-ESCAPES TO ON.
|
||||||
|
IF SHOULD-SHOW-ESCAPES THEN
|
||||||
|
STRING "ON." INTO MSG-BODY WITH POINTER WORK-PTR
|
||||||
|
ELSE STRING "OFF." INTO MSG-BODY WITH POINTER WORK-PTR.
|
||||||
|
PERFORM SEND-LINE.
|
||||||
|
|
||||||
HANDLE-RELEVEL.
|
HANDLE-RELEVEL.
|
||||||
PERFORM VALIDATE-USER.
|
PERFORM VALIDATE-USER.
|
||||||
MOVE PARAM(2) TO USER-NAME.
|
MOVE PARAM(2) TO USER-NAME.
|
||||||
|
@ -630,6 +706,8 @@
|
||||||
PERFORM BEGIN-REPLY.
|
PERFORM BEGIN-REPLY.
|
||||||
D DISPLAY "BF OUTPUT. ", BF-OUTPUT.
|
D DISPLAY "BF OUTPUT. ", BF-OUTPUT.
|
||||||
D DISPLAY "STRINGING BF OUTPUT".
|
D DISPLAY "STRINGING BF OUTPUT".
|
||||||
|
IF SHOULD-SHOW-ESCAPES THEN
|
||||||
|
CALL "RE-ESCAPE" USING BF-OUTPUT, WOPO-COUNTER.
|
||||||
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
|
||||||
|
|
|
@ -37,6 +37,6 @@ if [ $BUILD_C ]; then
|
||||||
fi
|
fi
|
||||||
if [ $BUILD_COBOL ]; then
|
if [ $BUILD_COBOL ]; then
|
||||||
${COBC:-cobc} ${DEBUG:+-fdebugging-line} -std=mvs -x WOPO-CNF.COB PRINTCNF.COB
|
${COBC:-cobc} ${DEBUG:+-fdebugging-line} -std=mvs -x WOPO-CNF.COB PRINTCNF.COB
|
||||||
${COBC:-cobc} ${DEBUG:+-fdebugging-line} ${CLANG:+-A "-fbracket-depth=512"} -std=mvs -x WOPO.COB IRC-MSG.COB PRINTCNF.COB DECASCII.COB ENCASCII.COB DECSTR.COB ENCSTR.COB BF-RUN.COB channel.o
|
${COBC:-cobc} ${DEBUG:+-fdebugging-line} ${CLANG:+-A "-fbracket-depth=512"} -std=mvs -x WOPO.COB IRC-MSG.COB PRINTCNF.COB DECASCII.COB ENCASCII.COB DECSTR.COB ENCSTR.COB REESCAPE.COB BF-RUN.COB channel.o
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue