# preval.f

Go to the documentation of this file.
```00001 C:\opentelemac\v7p0\sources\utils\damocles\preval.f
00002 !
00057                      INTEGER FUNCTION PREVAL
00058 !                    ***********************
00059 !
00060      &( ICOL , LIGNE , CAR1 , CAR2 , CAR3 )
00061 !
00062 !***********************************************************************
00063 ! DAMOCLES   V6P0                                   21/08/2010
00064 !***********************************************************************
00065 !
00066 !
00067 !
00068 !
00069 !
00070 !
00071 !
00072 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00073 !| CAR1,CAR2,CAR3 |-->| CARACTERES RECHERCHES DANS LA LIGNE
00074 !| ICOL           |-->| POSITION COURANTE DU POINTEUR DANS LA LIGNE
00075 !| LIGNE          |-->| LIGNE EN COURS DE DECODAGE
00076 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00077 !
00078       IMPLICIT NONE
00079 !
00080       INTEGER       ICOL
00081       CHARACTER*1   CAR1,CAR2,CAR3
00082       CHARACTER*(*) LIGNE
00083 !
00084       INTEGER       LONGLI,NLIGN
00085 !
00086 !-----------------------------------------------------------------------
00087 !
00088       INTEGER       I,J
00089 !
00090 !-----------------------------------------------------------------------
00091 !
00092       COMMON / DCMLIG / NLIGN,LONGLI
00093 !
00094 !***********************************************************************
00095 !                                    RCS AND SCCS MARKING
00096 !
00097 !***********************************************************************
00098 !
00099       PREVAL = LONGLI + 1
00100       I      = ICOL -1
00101 !
00102 100   CONTINUE
00103       I = I + 1
00104       IF (LIGNE(I:I).NE.CAR1.AND.LIGNE(I:I).NE.CAR2.AND.
00105      &    LIGNE(I:I).NE.CAR3) THEN
00106 !-----------------------------------------------------------------------
00107 !          DOES NOT CONSIDER THE COMMENTED LINES:
00108 !
00109            IF ( I.GE.LONGLI ) GO TO 1000
00110            IF ( LIGNE(I:I).EQ.'/' ) THEN
00111                 DO J = I+1 , LONGLI
00112                      IF ( LIGNE(J:J).EQ.'/' ) THEN
00113                           I = J
00114                           GO TO 100
00115                      ENDIF
00116                 ENDDO ! J
00117                 GO TO 1000
00118 !-----------------------------------------------------------------------
00119            ELSE
00120                 GO TO 100
00121            ENDIF
00122       ELSE
00123            PREVAL = I
00124       ENDIF
00125 !
00126 1000  CONTINUE
00127 !
00128       RETURN
00129       END
```