V10/cmd/pfort/OUTCOM.f

      INTEGER FUNCTION OUTCOM(IH, L)
      INTEGER STACK,PLAT
      LOGICAL ERR, SYSERR, ABORT
      COMMON /DETECT/ ERR, SYSERR, ABORT
      COMMON /CEXPRS/ LSTACK, STACK(620)
      COMMON /GRAPH/ LLAT, PLAT, LAT(6000)
C
C     READS DOWN COM LIST OF PU NODE, PUTS INDICES OF ENTRIES
C     IN STACK. IH IS HEAD OF LIST, L RETURNS NO OF ENTRIES
C
      OUTCOM = 0
      IF (IH) 40, 40, 10
   10 L = 1
      K = IH
 20   IF (L+1.GT.LSTACK) GOTO 50
      STACK(L) = LAT(K)
      IF (LAT(K+1).EQ.1) STACK(L) = -STACK(L)
      L = L + 1
      K = LAT(K+2)
      IF (K) 30, 30, 20
 30   L = L - 1
      IF(L.GT.0)  OUTCOM=1
   40 RETURN
   50 SYSERR = .TRUE.
      CALL ERROR1(35H IN OUTCOM, TABLE OVERFLOW OF STACK, 35)
      GO TO 40
      END