nomobj
C NOMOBJ SOURCE CB215821 24/07/17 21:15:12 11961 IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC CCNOYAU -INC SMBLOC CHARACTER*(*) NAM ,MTX CHARACTER*(8) MTY,MTZ LOGICAL ZCACHE C RECHERCHE DU NOM DANS LA PILE DES NOMS MTY=MTX IL=LEN(NAM) DO 765 I=IL,1,-1 IF(NAM(I:I).NE.' ') GO TO 764 765 CONTINUE I=1 764 IL=I ier=345 MAA=MDEOBJ itrouv=0 * LES PROCEDURES PEUVENT ETRE DES OBJETS LOCAUX * => On parcourt le debut de la pile uniquement pour la * mise en cache des procedures definies dans UTILPROC * ou GIBI.PROC ZCACHE=((IOLEC.LT.0).OR.(IOLEC.GT.654321)) IF ((MTY.EQ.'PROCEDUR').AND.ZCACHE) MAA=1 DO 3 I =MAA,LMNNOM IF(IPOSCH.EQ.INOOB1(I)) THEN C ON A TROUVE itrouv=1 MTZ=INOOB2(I) INOOB2(I)=MTY IF(MTY.NE.'PROCEDUR') THEN IOUEP2(I)=IVAL ELSE IF (ZCACHE) THEN c IF(MTZ.EQ.'PROCEDUR')THEN IPP=IOUEP2(I) IPIPR1(IPP) = IVAL ELSE IPIPRL=IPIPRL+1 IF(IPIPRL.GT.IPIPR1(/1)) THEN LM=IPIPR1(/1)+100 SEGADJ IPIPRO ENDIF IOUEP2(I)=IPIPRL IPIPR1(IPIPRL)=IVAL ENDIF ENDIF if(MTZ.ne.'PROCEDUR') RETURN ENDIF 3 CONTINUE if(itrouv.eq.1) return C IL FAUT CREER LE NOM LMNNOM=LMNNOM+1 IO=IOUEP2(/1) IF(LMNNOM.GT.IO) THEN N=LMNNOM+50 SEGADJ ITABOB,ITABOC,ITABOD ENDIF N=LMNNOM INOOB1(N)=IPOSCH INOOB2(N)=MTY IF(MTY.NE.'PROCEDUR')THEN IOUEP2(N)=IVAL ELSE IPIPRL=IPIPRL+1 IF(IPIPRL.GT.IPIPR1(/1)) THEN LM=IPIPR1(/1)+100 SEGADJ IPIPRO ENDIF IOUEP2(N)=IPIPRL IPIPR1(IPIPRL)=IVAL ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales