FTN4
      SUBROUTINE SETD(IVAL),92069-16001 REV.1912 780814 
C 
C 
C*************************************************************
C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS    *
C RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
C PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
C OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
C*************************************************************
C 
C 
C     SOURCE:    92069-18007
C     RELOC:     92069-16001
C 
C 
C************************************************************ 
C 
C***********************************************************************
C SETD GETS THE NEXT CARD IMAGE AND 
C     RETURNS  IVAL=0 IF '$SET:' FOUND STARTING IN COL 1
C              IVAL=1 IF '$END' FOUND STARTING IN COL 1 
C              IVAL = -1 IF I O ERROR OCCURED 
C              IVAL = 2 OTHERWISE 
C 
C          IF IVAL = -1 THEN AN I/O ERROR OCCURED 
C          IF IVAL=1 SCANS TO THE NEXT '$SET:' OR '$END' CARD 
C                    AND SETS IVAL AS ABOVE 
C          IF IVAL=0 PRINTS ERROR MESSAGE IF NEITHER '$SET:' OR '$END'
C                    IS FOUND ON NEXT CARD, AND 
C                    SCANS TO THE NEXT '$SET:' OR '$END' CARD 
C                    AND SETS IVAL AS ABOVE.
C          IF IVAL=2 AND NEITHER '$SET:' OR '$END' IS PRESENT ON THE
C                    NEXT CARD, IVAL IS SET TO 2. 
C 
C CALLING SEQUENCE
C     CALL SETD(IVAL) 
C***********************************************************************
C 
C 
      INTEGER PRINT 
      INTEGER SET(3),END(2) 
C$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  AUGUST 10,1978 $$$
      INTEGER ERROR,P,PLEN,CARD,LOG,COL 
      INTEGER ELECT,ITEM,LENTH,TYPE 
      INTEGER IDCB,LDCB,LIST,INPUT,PRTLM,CHECK,LST
      INTEGER IBASE 
      INTEGER SETERR
      INTEGER TRUE,FALSE,SEMI,COMMA 
      INTEGER L,CHAR
      INTEGER SETNO 
      INTEGER QTFLAG
C 
      COMMON ERROR,P(40),PLEN,CARD(256),LOG,COL 
      COMMON ELECT(129),ITEM(129),LENTH(129),TYPE(129)
      COMMON IDCB(144),LDCB(144),LIST,INPUT,PRTLM,CHECK,LST 
      COMMON IBASE(10)
      COMMON SETERR 
      COMMON L,CHAR 
      COMMON SETNO
      COMMON QTFLAG 
      COMMON/CONST/TRUE,FALSE,SEMI,COMMA
C$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  OCTOBER 16,1978 $$
      DATA I1,I4,I5,I205/1,4,5,205/ 
      DATA SET/2H$S,2HET,2H: /
      DATA END/2H$E,2HND/ 
C$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 
C 
C 
C 
C 
C 
C 
      IERR=0
C 
C INITIALIZE PRINT FLAG 
C 
      PRINT=0 
C 
C     GET NEXT CARD, IF I O ERROR SET IVAL -1 AND RETURN
C 
103   CALL CRDIM(IERR)
      IF(IERR .EQ. 0) GOTO 1031 
      IVAL = -1 
      RETURN
C 
C     IF "$SET:", SET IVAL TO 0 AND RETURN
C 
1031  CONTINUE
      IF ( JSCOM(CARD,I1,I5,SET,I1,IERR).NE.0) GO TO 101
      IVAL=0
      RETURN
C     IF "$END", SET IVAL TO 1 AND RETURN 
C 
101   IF ( JSCOM(CARD,I1,I4,END,I1,IERR).NE.0 ) GO TO 102 
      IVAL=1
      RETURN
C 
C     IF IVAL=2, NEITHER FOUND, RETURN
C 
102   IF (IVAL.EQ.2) RETURN 
C 
C     SCAN TO NEXT CARD AND.CHECK AGAIN 
C     IF IVAL=0 AND FIRST TIME AROUND, PRINT ERROR MESSAGE 205, 
C     "$SET: OR $END EXPECTED." 
C 
      IF  (IVAL.NE.0) GO TO 103 
      IF  (PRINT.NE.0) GO TO 103
      CALL ERROT(I205)
      PRINT=1 
      GO TO 103 
      END 
      END$
                                                                                                                                                              