*DECK NVFTTCH
USETEXT TEXTNVF
USETEXT TXTAPSS
PROC NVFTTCH;
# TITLE NVFTTCH - RECORD TERMINAL CHARACTERISTIC CHANGE (TCH/TCHAR SM) #
BEGIN # NVFTTCH #
#
** NVFTTCH - RECORD TERMINAL CHARACTERISTIC CHANGE (TCH/TCHAR SM).
*
* E. THAVIKULWAT 81/09/25
*
* THIS PROCEDURE UPDATES TERMINAL CLASS, PAGE WIDTH, AND PAGE
* LENGTH FOR A TERMINAL IN RESPONSE TO A TCH/TCHAR REQUEST. IT IS
* CALLED INTO EXECUTION BY PROCEDURE *NVFTDQE*.
*
* PROC NVFTTCH
*
* ENTRY:
* TCH/TCHAR IN *MSGBUF*
*
* EXIT:
* TERMINAL CLASS, PAGE WIDTH, AND PAGE LENGTH UPDATED
*
* METHOD:
* SEARCH PTAC TABLE FOR ENTRY THAT MATCHES THIS TERMINAL'S ACN.
* IF ENTRY FOUND, UPDATE TERMINAL CLASS, PAGE WIDTH, AND PAGE
* LENGTH IN THE PTAC ENTRY. OTHERWISE, IGNORE THE SM.
#
ITEM MATCH B; # EXIT LOOP VARIABLE #
ITEM NENTRY I; # NUMBER OF ENTRIES IN TABLE #
ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC #
#
* SEARCH PTAC TABLE FOR ENTRY THAT MATCHES THIS TERMINAL'S ACN.
* IF NO MATCH, IGNORE SM.
#
MATCH = FALSE;
NENTRY = PTALNGTH / PTACSIZ$; # CALCULATE NUMBER OF ENTRIES #
FOR PT = 0 STEP 1 WHILE (NOT MATCH AND PT LS NENTRY)
DO
BEGIN
IF PTA$ACN[PT] EQ TCHACN[0]
THEN
BEGIN # PTAC ENTRY FOUND #
#
* UPDATE TERMINAL CLASS, PAGE WIDTH, AND PAGE LENGTH.
#
PTA$TC[PT] = TCHTCL[0];
PTA$PW[PT] = TCHPW[0];
PTA$PL[PT] = TCHPL[0];
MATCH = TRUE;
END
END
END # END NVFTTCH #
TERM