*DECK TXTINI
USETEXT COMCBEG 
USETEXT COMCAPR 
USETEXT COMCCAE 
USETEXT COMQDEF 
USETEXT COMQTXT 
    PROC TXTINI;
      BEGIN    # TXTINI # 
# 
**    TXTINI     INITIALIZE TEXT BUFFER SPACE.
* 
*     PROC TXTINI 
* 
*     ENTRY      TXTBUF$RES = NUMBER OF RESIDENT BUFFERS ALLOCATED
*                             BY QFIRES OR QFSRES.
*                P<TXTBUF> = FWA OF RESIDENT, IF TXTBUF$RES NE 0. 
* 
*     EXIT       TXTBUF$EMP = FWA OF RESIDENT BUFFER CHAIN OR 0.
*                TXTBUF$OVF = 0 (NO OVERFLOW BUFFERS).
* 
*     PROCESS    IF RESIDENTS BUFFERS ALLOCATED:  
*                  LINK EACH BUFFER TO END OF FREE BUFFER CHAIN.
* 
# 
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC NAME;                 # DEBUG CODE # 
        END 
  
# 
****  XREF END
# 
  
  
      ITEM NUMBUFFERS U;           # NUMBER OF BUFFERS #
  
        $BEGIN
        NAME("TXTINI"); 
        $END
  
      TXTBUF$EMP = 0; 
      TXTBUF$OVF = 0; 
      IF TXTBUF$RES GT 0           # IF RESIDENT BUFFERS ALLOCATED #
      THEN
        BEGIN 
        TXTBUF$EMP = P<TXTBUF>;    # POINTER TO EMPTY CHAIN # 
        TXTBUF$HDR = 0; 
        NUMBUFFERS = TXTBUF$RES - 1;  # ADDITIONAL BUFFERS #
        ASLONGAS NUMBUFFERS GT 0
        DO
          BEGIN 
          TXTBUF$LNK = P<TXTBUF> + LTXTBFW; # POINTER TO NEXT BUFFER #
          P<TXTBUF> = TXTBUF$LNK;  # POINT TO NEXT #
          TXTBUF$HDR = 0; 
          NUMBUFFERS = NUMBUFFERS - 1;
          END 
  
        END 
  
      END  # TXTINI # 
    TERM
