1 subroutine utfin2 ( mctyob, option, nomfic, lnomfi,
3 > ulsort, langue, codret )
4 c ______________________________________________________________________
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
16 c HOMARD est une marque deposee d'Electricite de France
22 c ______________________________________________________________________
24 c but : renvoyer le nom unix complet correspondant a un fichier
25 c de nom symbolique donne
26 c remarque : si la variable nomfic est trop grande, elle est completee
28 c remarque : utfino et utfin2 sont des clones
29 c ______________________________________________________________________
31 c . nom . e/s . taille . description .
32 c .____________________________________________________________________.
33 c . mctyob . e . ch8 . nom symbolique du type de fichier .
34 c . option . e . 1 . 0 : le nom est renvoye tel quel .
35 c . . . . 1 : les minuscules deviennent majuscules .
36 c . . . . 2 : les majuscules deviennent minuscules .
37 c . . . . si negatif, on interdit tout caractere .
38 c . . . . non alphabetique .
39 c . nbrmin . e . 1 . nombre minimal de mots possibles .
40 c . nbrmax . e . 1 . nombre maximal de mots possibles .
41 c . nomfic . s . ch* . nom unix du fichier associe .
42 c . lnomfi . s . 1 . longueur du nom unix du fichier associe .
43 c . ulsort . e . 1 . unite logique d'impression .
44 c . langue . e . 1 . langue des messages .
45 c . . . . 1 : francais, 2 : anglais .
46 c . codret . s . 1 . code de retour .
47 c . . . . 0 : pas de probleme .
48 c . . . . 1 : la configuration est perdue .
49 c . . . . 2 : pas de nom dans la base .
50 c . . . . 3 : le nombre de mots-cles est incorrect .
51 c . . . . 4 : la chaine prevue est trop courte .
52 c ______________________________________________________________________
55 c 0. declarations et dimensionnement
58 c 0.1. ==> generalites
64 parameter ( nompro = 'UTFIN2' )
75 integer option, lnomfi
76 integer nbrmin, nbrmax
77 integer ulsort, langue, codret
79 c 0.4. ==> variables locales
82 integer numero, nombre, ulmess
85 parameter ( nbmess = 10 )
86 character*80 texte(nblang,nbmess)
90 c 0.5. ==> initialisations
91 c ______________________________________________________________________
95 c si on recherche le fichier de la liste standard, il faut
96 c imprimer sur la sortie standard.
101 #ifdef _DEBUG_HOMARD_
102 write (ulsort,texte(langue,1)) 'Entree', nompro
106 texte(1,4) = '(''Mot-cle symbolique '',a8,)'
107 texte(1,5) = '(1x,''La configuration est perdue.'')'
109 > '(''Il est present '',i5,'' fois dans la configuration.'')'
110 texte(1,7) = '(''On voudrait entre'',i5,'' et'',i5)'
111 texte(1,8) = '(i4,'' fichiers possibles.'')'
113 texte(2,4) = '(''Symbolic keyword '',a8,'', rank '',i6)'
114 texte(2,5) = '(1x,''The configuration is lost.'')'
116 > '(''It is present '',i5,'' times in configuration.'')'
117 texte(2,7) = '(''Asked: between'',i5,'' and'',i5)'
118 texte(2,8) = '(i4,'' available files.'')'
120 if ( mctyob.eq.mclist ) then
121 call gusost ( ulmess )
127 c 2. appel de l'utilitaire : on n'est interesse que par le premier
128 c fichier ou le mot-cle apparait
129 c code retour : 0 : pas de probleme
130 c 1 : la configuration est perdue
131 c 2 : pas de nom dans la base
133 c 4 : la chaine nomfic est trop courte
138 #ifdef _DEBUG_HOMARD_
139 write (ulsort,texte(langue,3)) 'UTFIN1', nompro
141 call utfin1 ( mctyob, numero,
142 > nombre, nomfic, lnomfi,
143 > ulmess, langue, codret )
144 cgn write (*,texte(langue,4)) mctyob
145 cgn write(*,*)'nombre',nombre
146 cgn write(*,*)'codret',codret
148 if ( codret.eq.3 ) then
152 if ( codret.eq.0 ) then
153 if ( nombre.lt.nbrmin .or. nombre.gt.nbrmax ) then
158 #ifdef _DEBUG_HOMARD_
160 if ( codret.ne.0 ) then
162 write (ulsort,texte(langue,1)) 'Sortie', nompro
163 write (ulsort,texte(langue,2)) codret
164 write (ulmess,texte(langue,4)) mctyob
165 if ( codret.eq.1 ) then
166 write (ulmess,texte(langue,5))
167 elseif ( codret.eq.3 ) then
168 write (ulmess,texte(langue,6)) nombre
169 write (ulmess,texte(langue,7)) nbrmin, nbrmax
171 call utosme ( mctyob, ulsort, langue )
172 write (ulmess,texte(langue,8)) nombre
180 c 3. conversion eventuelle
183 if ( codret.eq.0 ) then
185 if ( option.ne.0 ) then
187 call utmnmj ( option, nomfic, iaux,
188 > ulmess, langue, codret )
193 cgn write(*,*)'==> codret',codret