1 subroutine gufefi ( fichie, lfichi, codret )
2 c ______________________________________________________________________
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
14 c HOMARD est une marque deposee d'Electricite de France
20 c ______________________________________________________________________
22 c Gestionnaire des Unites logiques - FErmeture d'un FIchier
24 c ______________________________________________________________________
26 c . nom . e/s . taille . description .
27 c .____________________________________________________________________.
28 c . fichie . e . ch<200 . nom du fichier a fermer .
29 c . lfichi . e . 1 . longueur du nom du fichier a fermer .
30 c . codret . s . 1 . 0 : tout va bien .
31 c . . . . 3 : pas d'unite logique pour ce fichier .
32 c . . . . 9 : probleme a la fermeture .
33 c ______________________________________________________________________
36 c 0. declarations et dimensionnement
39 c 0.1. ==> generalites
45 parameter ( nompro = 'GUFEFI' )
55 integer lfichi, codret
59 c 0.4. ==> variables locales
67 integer ulsort, langue
69 integer gunmbr(lgunmb)
70 integer statut(mbmxul), lnomfi(mbmxul)
72 character*200 nomfic(mbmxul)
75 parameter ( nbmess = 10 )
76 character*80 texte(nblang,nbmess)
78 c 0.5. ==> initialisations
79 c ______________________________________________________________________
87 texte(1,10) = '(''Fermeture du fichier :'')'
88 texte(1,4) = '(''Impossible de trouver une UL associee.'')'
90 > '(''Unite logique : '',i4,'' - fermeture impossible'')'
92 > '(''Attention: longueur du nom : '',i4,'' caracteres'')'
94 texte(2,10) = '(''Closing of file :'')'
95 texte(2,4) = '(''LU cannot be found.'')'
97 > '(''Logical unit # : '',i4,'' - impossible to close'')'
99 > '(''Look out: lenght of name : '',i4,'' characters'')'
102 c 2. recuperation de l'information
106 call gutabl ( code, gunmbr, statut, nomfic, lnomfi )
111 #ifdef _DEBUG_HOMARD_
112 write (ulsort,texte(langue,1)) 'Entree', nompro
117 c 3. recherche de l'unite logique associee a ce fichier
120 call gucara ( fichie, lfichi, nuroul, codret )
122 if ( codret.eq.0 ) then
123 if ( nuroul.le.0 ) then
125 else if ( lfichi.le.0 ) then
127 c ce programme ne peut fermer ni l'entree standard, ni la sortie
128 c standard, ni l'unite logique des messages (fermee par gubila)
131 else if ( nuroul.eq.ulsort .or.
132 > nuroul.eq.gunmbr(14) .or. nuroul.eq.gunmbr(15) ) then
143 if ( codret.eq.0 ) then
144 call guferm ( fichie, lfichi, nuroul, codret )
145 if ( codret.ne.0 ) then
154 if ( codret.ne.0 ) then
155 write (ulsort,texte(langue,1)) 'Sortie', nompro
156 write (ulsort,texte(langue,10))
157 if ( lfichi.gt.0 .and. len(fichie).gt.0 ) then
158 write (ulsort,*) fichie(1:min(lfichi,len(fichie)))
159 if ( lfichi.le.len(fichie) ) then
160 if ( fichie(1:1).eq.' ' .or.
161 > fichie(lfichi:lfichi).eq.' ') then
163 c peut-etre un probleme avec les blancs en debut ou fin de chaine ...
164 c ( voire chaine toute blanche )
166 write(ulsort,texte(langue,6)) lfichi
172 if ( codret.eq.3 ) then
173 write (ulsort,texte(langue,4))
175 write (ulsort,texte(langue,5)) nuroul