C LIRESC SOURCE PV 11/04/08 21:16:09 6934 C Lire emascule a l'usage d'un esclave C SUBROUTINE LIRESC(ITYPE,IRET,ICODE,IRETOU) IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC CCASSIS character*(*) itype character*(8) ityp ith=0 call ooonth(ith) if (ith.eq.0) call erreur(5) mescla=imescl(ith) iretou=0 if (icode.eq.-1) then esoplu(imotlv)=.false. return endif if (ierr.ne.0) return ityp=' ' if (itype.eq.'FLOTTANT ') ityp='ENTIER' do 10 i=1,100 if (esoplu(i)) goto 10 * si on tombe sur un esclave on le remplace par sa valeur if (esopty(i).eq.'ESCLAVE') then mesres=esopva(i) segact mesres nesres=iesres segact nesres if (.not.loremp) then 5 continue segdes nesres*record segdes mesres SEGACT NESRES*(ECR=1,MOD) segact mesres if (.not.loremp) then write(6,*) ' loremp pas vrai dans liresc ' goto 5 endif endif segdes mesres esopty(i)=esrety if ( esrety.eq.'LOGIQUE ') then esoplo(i)=esrelo elseif(esrety.eq.'FLOTTANT') then esopre(i)=esrere elseif (esrety.eq.'MOT ') then esopch(i)=esrech else esopva(i)=esreva end if SEGDES NESRES endif if (itype.eq.' ') goto 20 if (itype.eq.esopty(i)) goto 20 if (ityp .eq.esopty(i)) goto 20 10 continue iretou=0 if (icode.eq.1) then moterr(1:8)=itype call erreur(37) endif return 20 continue imotlv=i iretou=1 itype=esopty(i) iret=esopva(i) esoplu(i)=.true. if (itype.eq.'FLOTTANT') iret=i if (itype.eq.'MOT ') iret=i if (itype.eq.'LOGIQUE ') iret=i end