*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
