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