ooosuw
C OOOSUW SOURCE PV090527 26/04/24 08:23:24 12524 SUBROUTINE OOOSUW (LRET,PSEG) C-------------------------------------------------------------------- C C ECRITURE D'UN SEGMENT OU D'UN SUPER-SEGMENT C EN ZONE DE DEBORDEMENT C C ->LRET 1 PLUS DE PLACE SUR DISQUE C 2 OK C C PSEG DESCRIPTEUR DU SEGMENT SI GROS SEGMENT C OU DU MARQUEUR SI SUPER SEGMENT C C LE(S) SEGMENTS SONT ECRITS EN ZONE DE DEBORDEMENT S'IL C N'Y A PAS DE COPIE SUR DISQUE C C SUPPRESSION DU GROS SEGMENT OU DES PETITS SEGMENTS C EN MEMOIRE ACTIVE C C PROGRAMMEUR : MOUGIN C MODIF : 16/11/88 RETIRER L'ARGUMENT LRET DANS CALL OOOMSU C MODIF : 04/02/89 RETIRER L'ARGUMENT LRET DANS CALL OOODWD C C-------------------------------------------------------------------- C %INC IOOADR %INC IOOADZ %INC IOODES %INC IOOSGM POINTEUR PSEG.PSEG C C****** CARACTERISTIQUES DU SEGMENT C ISEG = MDISG(PSEG) ITRK = MDTRK(PSEG) ITYP = MDTYP(PSEG) ICAT = MDCAT(ITYP) C IF (ICAT.EQ.MDMARK) THEN ISA = ISEG+(MSLMARK) LSA = MSMARK(ISEG) ICATX = MDBLOCK ELSE ISA = ISEG LSA = MSLS1(ISEG) ICATX = MDISOLE ENDIF C C****** PAS DE COPIE DISQUE? : ECRITURE EN ZONE DE DEBORDEMENT C IF (ITRK.EQ.0) THEN CALL OOODWD (MZPTRK,ITRK,JSG(ISA+1),LSA) IF (ITRK.EQ.0) THEN LRET = 1 RETURN ENDIF ENDIF C C****** MISE A JOUR DES DESCRIPTEURS DES SEGMENTS C ISX=ISA ISF=ISA+LSA C DO WHILE (ISX.LT.ISF) LSX = MSLS1(ISX) IDX = MSIDE(ISX) MDCH0 , IDX IF (ICAT.NE.MDMARK) THEN LST=LSX CALL OOOMSU (IZA,MDISG(IDX),LST) ENDIF MDLEN(IDX)=LSA MDTRK(IDX)=ITRK MDTYP(IDX)=MDLTYP(ICATX,MDDISQUE,0,0,0) C MZJSS(VIDES)=MZJSS(VIDES)+1 MZJSM(VIDES)=MZJSM(VIDES)+LSX C ISX=ISX+LSX ENDDO LRET = 2 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales