Change parameter handling to fix uninitialized register bugs.

This commit is contained in:
Quinn "heddwch" Evans 2018-09-10 14:47:13 -06:00
parent 8b0a10b60b
commit 5c8daf6f1c
1 changed files with 11 additions and 7 deletions

View File

@ -312,12 +312,13 @@
INDEX-PARAM. INDEX-PARAM.
ADD 1 TO NUM-PARAMS OF WOPO. ADD 1 TO NUM-PARAMS OF WOPO.
MOVE PTR(DEST) TO PARAM OF WOPO(NUM-PARAMS OF WOPO). MOVE PTR(DEST) TO PARAM OF WOPO(NUM-PARAMS OF WOPO).
MOVE SPACES TO R(DEST).
UNSTRING R(SRC) DELIMITED BY SPACE UNSTRING R(SRC) DELIMITED BY SPACE
INTO R(DEST) INTO R(DEST)
WITH POINTER PTR(DEST). WITH POINTER PTR(DEST).
IF R(DEST) IS EQUAL TO SPACES THEN IF R(DEST) IS EQUAL TO SPACES THEN
SUBTRACT 1 FROM NUM-PARAMS OF WOPO SUBTRACT 1 FROM NUM-PARAMS OF WOPO
MOVE 99 TO STATE MOVE 99 TO STATE.
IF NUM-PARAMS OF WOPO IS NOT LESS THAN 9 THEN IF NUM-PARAMS OF WOPO IS NOT LESS THAN 9 THEN
MOVE 99 TO STATE. MOVE 99 TO STATE.
@ -514,11 +515,11 @@
D DISPLAY "PREFIXED COMMAND DETECTED." D DISPLAY "PREFIXED COMMAND DETECTED."
MOVE COMMAND-BODY(2) TO R(1) MOVE COMMAND-BODY(2) TO R(1)
D DISPLAY "COMMAND BODY ", R(1) D DISPLAY "COMMAND BODY ", R(1)
PERFORM HANDLE-COMMAND PERFORM HANDLE-INTERACTIVE-COMMAND
ELSE IF TARGET OF IRC-STATE IS EQUAL TO NICK OF WOPO THEN ELSE IF TARGET OF IRC-STATE IS EQUAL TO NICK OF WOPO THEN
D DISPLAY "DIRECT MESSAGE DETECTED." D DISPLAY "DIRECT MESSAGE DETECTED."
MOVE R(2) TO R(1) MOVE R(2) TO R(1)
PERFORM HANDLE-COMMAND PERFORM HANDLE-INTERACTIVE-COMMAND
ELSE ELSE
D DISPLAY "ADDRESSED MESSAGE DETECTED." D DISPLAY "ADDRESSED MESSAGE DETECTED."
MOVE 1 TO PTR(2) MOVE 1 TO PTR(2)
@ -531,7 +532,7 @@
UNSTRING R(2) UNSTRING R(2)
INTO R(1) INTO R(1)
WITH POINTER PTR(2) WITH POINTER PTR(2)
PERFORM HANDLE-COMMAND PERFORM HANDLE-INTERACTIVE-COMMAND
D ELSE D ELSE
D DISPLAY "NOT TALKING TO ME. I AM ", NICK OF WOPO D DISPLAY "NOT TALKING TO ME. I AM ", NICK OF WOPO
. .
@ -548,13 +549,17 @@
IF DELIM IS NOT EQUAL TO "/" THEN IF DELIM IS NOT EQUAL TO "/" THEN
MOVE 99 TO STATE. MOVE 99 TO STATE.
HANDLE-INTERACTIVE-COMMAND.
MOVE SPACES TO R(8).
MOVE 8 TO INPUT-SOURCE.
PERFORM HANDLE-COMMAND.
HANDLE-COMMAND. HANDLE-COMMAND.
MOVE 1 TO SRC. MOVE 1 TO SRC.
MOVE 2 TO DEST. MOVE 2 TO DEST.
PERFORM INDEX-PARAMS. PERFORM INDEX-PARAMS.
MOVE 1 TO PTR(1). MOVE 1 TO PTR(1).
PERFORM GET-PARAM. PERFORM GET-PARAM.
D DISPLAY "COMMAND. ", R(2).
UNSTRING R(2) DELIMITED BY "/" UNSTRING R(2) DELIMITED BY "/"
INTO R(3) INTO R(3)
WITH POINTER PTR(3). WITH POINTER PTR(3).
@ -564,8 +569,7 @@
IF NUM-PARAMS OF WOPO IS GREATER THAN 1 THEN IF NUM-PARAMS OF WOPO IS GREATER THAN 1 THEN
MOVE 2 TO PTR(1) MOVE 2 TO PTR(1)
MOVE 8 TO DEST MOVE 8 TO DEST
PERFORM GET-REST PERFORM GET-REST.
MOVE 8 TO INPUT-SOURCE.
UNSTRING R(2) DELIMITED BY "/" OR SPACES INTO R(1). UNSTRING R(2) DELIMITED BY "/" OR SPACES INTO R(1).
D DISPLAY "INPUT-SOURCE. ", INPUT-SOURCE, D DISPLAY "INPUT-SOURCE. ", INPUT-SOURCE,
D " OUTPUT-DEST. ", OUTPUT-DEST. D " OUTPUT-DEST. ", OUTPUT-DEST.