Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

96 lines
2.0 KiB

C Copyright(C) 1999-2020 National Technology & Engineering Solutions
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
C NTESS, the U.S. Government retains certain rights in this software.
C
C See packages/seacas/LICENSE for details
C=======================================================================
LOGICAL FUNCTION LXSCNP(DELIM,STR,NS,CH)
IMPLICIT INTEGER (A-Z)
CHARACTER*504 ILINE
COMMON /LXCOM1/ILINE
COMMON /LXCOM2/JLINE,LXINIT
CHARACTER*(*) DELIM
CHARACTER*(*) STR
INTEGER NS
CHARACTER CH
LOGICAL QFLAG
CHARACTER QCH
NS = 0
J = JLINE
LP = 0
QFLAG = .FALSE.
2600 CONTINUE
CH = ILINE(J:J)
IF (LP.EQ.0) THEN
ID = INDEX(DELIM,CH)
IF (ID.GT.0) THEN
GO TO 2620
END IF
END IF
IF (.NOT.QFLAG) THEN
IF (LP.EQ.0) THEN
ID = INDEX(DELIM,CH)
IF (ID.GT.0) THEN
GO TO 2620
END IF
END IF
IF (CH.EQ.CHAR(0)) THEN
GO TO 2620
ELSE IF (CH.EQ.'(' .OR. CH.EQ.'[' .OR. CH.EQ.'{') THEN
LP = LP + 1
ELSE IF (CH.EQ.')' .OR. CH.EQ.']' .OR. CH.EQ.'}') THEN
LP = LP - 1
ELSE IF (CH.EQ.'''' .OR. CH.EQ.'"' .OR. CH.EQ.CHAR(96)) THEN
QFLAG = .TRUE.
QCH = CH
END IF
IF (LP.LT.0) THEN
GO TO 2620
END IF
NS = NS + 1
STR(NS:NS) = CH
ELSE
NS = NS + 1
STR(NS:NS) = CH
IF (CH.EQ.CHAR(0)) THEN
GO TO 2620
ELSE IF (CH.EQ.QCH) THEN
IF (CH.EQ.ILINE(J+1:J+1)) THEN
NS = NS + 1
STR(NS:NS) = CH
J = J + 2
GO TO 2610
ELSE
QFLAG = .FALSE.
END IF
END IF
END IF
J = J + 1
2610 GO TO 2600
2620 CONTINUE
JLINE = J
LXSCNP = ((LP.EQ.0) .AND. .NOT.QFLAG)
RETURN
END