31
32
33
35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "chara_c.inc"
43
44
45
46 INTEGER NKEY, IKEY, IR, IOK
47 CHARACTER(LEN=NCHARLINE100) :: CARTE
48 CHARACTER KEY(*)*5, KEY0(NKEY)*5
49
50
51
52 INTEGER IKEYO, J, JK, I
53 CHARACTER KEYO(9)*5
54 LOGICAL DETECTED
55
56 ir=0
57
58 ikeyo=ikey
59 DO j=1,9
60 keyo(j)=key(j)
61 key(j)=' '
62 ENDDO
63 jk=0
65 IF(carte(i:i)=='/')THEN
66 jk=jk+1
67 j=0
68 ELSEIF(carte(i:i)/=' ')THEN
69 j=j+1
70 IF(j<=5)key(jk)(j:j)=carte(i:i)
71 ENDIF
72 ENDDO
73
74 detected=.false.
75 DO i=1,nkey
76 ikey=i
77 IF(key(1)==key0(ikey))THEN
78 detected = .true.
79 EXIT
80 ENDIF
81 ENDDO
82
83 IF(.NOT. detected)THEN
84 ir=1
85 ikey=ikeyo
86 DO j=1,9
87 key(j)=keyo(j)
88 ENDDO
89
90 ELSE
91 iok = 0
92 j=0
93 IF(ikey==1.OR.ikey==58)THEN
94 IF (got_input == 0.OR.ikey==58) THEN
96 IF(iok==0.AND.carte(i:i)=='/')THEN
97 iok = 1
98 ELSEIF(iok==1.AND.carte(i:i)=='/')THEN
99 rootlen = j
100 RETURN
101 ELSEIF(iok==1.AND.carte(i:i)/=' ')THEN
102 j=j+1
103 IF(j<=80)rootnam(j:j)=carte(i:i)
104 ENDIF
105 ENDDO
106 ELSE
107 rootnam(1:lenrootn)=rootn(1:lenrootn)
108 rootlen = lenrootn
109 ENDIF
110 ENDIF
111 ENDIF
112
113 RETURN
integer, parameter ncharline100