*DECK GETPLIN 
USETEXT CCTTEXT 
USETEXT SSTEXT
          PROC  GETPLINDEX(PLINDEX);
  
#**       GETPLINDEX - GET PRINT LINE INDEX                            #
#                                                                      #
#     CALLING SEQUENCE-                                                #
#         GETPLINDEX(I):                                               #
#                                                                      #
#     DOES-                                                            #
#         SETS THE PARAMETER VARIABLE TO THE INDEX OF AN UNUSED        #
#           PRINT LINE ENTRY.                                          #
  
  
          BEGIN 
          ITEM  PLINDEX      I;        # WILL BE INDEX TO P. L. ENTRY  #
  
  
*CALL BUG020C$
  
  
  
*CALL LISTCTL 
  
          XREF
              BEGIN 
              PROC  ABORTSS;           # ABORT SOURCE SCANNER          #
              PROC  CBLIST;            # COBOL LISTER                  #
              PROC  CMM$GLV;           # GROW AT LAST OF VARYING BLOCK #
              END 
  
          ITEM  I            I;        # SCRATCH                       #
  
  
          IF PLI$UNUSED EQ 0  THEN
              BEGIN 
              $BEGIN
              IF P<PL$> EQ 0
               OR P<PRTBUF> EQ 0  THEN
                  ABORTSS("GETPLIN-2"); 
              $END
              CMM$GLV(PL$, 10); 
              CMM$GLV(PRTBUF, 100); 
              PLN$UNUSED = 10;
              FOR I = PLN$USED+1 STEP 1 UNTIL PLN$USED+9  DO
                  BEGIN 
                  PL$INIT[I] = 0; 
                  PL$NEXT[I] = I + 1; 
                  END 
              PL$INIT[PLN$USED+10] = 0; 
              PLI$UNUSED = PLN$USED + 1;
              END 
  
          PLINDEX = PLI$UNUSED; 
          PLI$UNUSED = PL$NEXT[PLI$UNUSED]; 
          PLN$USED = PLN$USED + 1;
          PLN$UNUSED = PLN$UNUSED - 1;
  
          END # OF GETPLINDEX # 
          TERM
