35
36
37
40
41
42
43#include "implicit_f.inc"
44
45
46
47 INTEGER LENI
48 CHARACTER*2096 INPUTR
49
50
51
52 CHARACTER(LEN=NCHARLINE100) :: ERRMSGLINE
53 CHARACTER(LEN=NCHARLINE100) :: CTMP
54 INTEGER ISTDEML
55 INTEGER NBLINE,NBLINETOT,J1,J,ID,MAXID,MSGTYPE,
56 . IADT,IADD,IO_ERR
57
58 istdeml=81
59 OPEN(unit=istdeml,form='FORMATTED',file=inputr,
60 . status='OLD',iostat=io_err)
61 IF (io_err/=0) THEN
62
63 CALL ancmsg(msgid=72,anmode=aninfo,
64 . c1=inputr)
65 CLOSE(istdeml)
67 RETURN
68 ENDIF
69
70 nbline=0
71 nblinetot=0
72 10 READ(istdeml,'(a)',END=20,ERR=910) ERRMSGLINE
73 NBLINETOT=NBLINETOT+1
74.AND. IF (LEN_TRIM(ERRMSGLINE)>0
75 . ERRMSGLINE(1:1)/='#') THEN
76 nbline=nbline+1
77 END IF
78 GOTO 10
79 20 CONTINUE
80 ALLOCATE(messagesfile(nbline))
81 smessagesfile=nbline
82 IF (nbline<=0) GOTO 900
83 rewind(istdeml)
84 nbline=0
85 nblinetot=0
86 30 READ(istdeml,'(A)',END=40,ERR=910) errmsgline
87 nblinetot=nblinetot+1
88 IF (len_trim(errmsgline)>0.AND.
89 . errmsgline(1:1)/='#') THEN
90 nbline=nbline+1
91 messagesfile(nbline)=errmsgline
92 END IF
93 GOTO 30
94 40 CONTINUE
95 CLOSE(istdeml)
96 RETURN
97 900 CONTINUE
98 CLOSE(istdeml)
99 CALL ancmsg(msgid=1,anmode=aninfo,c1=inputr)
101 RETURN
102 910 CONTINUE
103 CLOSE(istdeml)
104 CALL ancmsg(msgid=2,anmode=aninfo,c1=inputr,i1=nblinetot)
106 RETURN
integer, parameter ncharline100
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)