1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
   |  
      SUBROUTINE READL (LU, TEXT, NCH, CHAR, IEOF, IERR)
C-----------------------------------------------------------------
C
C THIS WAS ALSO TAKEN FROM NODIS - WJT
C
C  THIS SR READS AN 80 CHARACTER RECORD, SEARCHES FOR A SPECIFIED
C CHARACTER, AND THEN PLACES THE CHARACTERS FOLLOWING THE DESIRED
C CHARACTER INTO THE ARRAY TEXT.  IN ADDITION, TEXT(NCH+1) IS SET
C TO 0 (THIS FACILITATES OPENING OF FILES).
C
C INPUTS......
C
C   TEXT      A LOGICAL*1 ARRAY INTO WHICH THE CHARACTERS FOLLOWING
C               THE SEARCH CHARACTER ARE STORED
C   CHAR      (L1) THE SEARCH CHARACTER
C   LU        THE LOGICAL UNIT TO READ
C
C OUTPUTS......
C
C   TEXT      (AS ABOVE)
C   NCH       THE NUMBER OF CHARACTERS RETURNED IN TEXT (AS IN Q FMT)
C   IEOF      =0 IF NO EOF ENCOUNTERED
C             =1 IF AN EOF IS ENCOUNTERED ON UNIT LU
C   IERR      =0 IF NO ERRORS
C             =1 IF ERRORS ENCOUNTERED
C
C NON-LIBRARY ROUTINES CALLED:  NONE
C----------------------------------------------
C
      CHARACTER  RECORD*80, TEXT*(*)
      CHARACTER*1 NULL,CHAR
 
...
      READ (LU, 1000, END=999, ERR=998) NC, RECORD
 1000 FORMAT (Q,A)
      DO 100 I = 1, NC
         IF (RECORD(I:I) .EQ. CHAR) GO TO 101
  100    CONTINUE
C ERROR - SEARCH CHARACTER NOT FOUND
      GO TO 998
C
  101 NCH = NC - I |