diff options
Diffstat (limited to 'Trivac/src/OUT.f')
| -rwxr-xr-x | Trivac/src/OUT.f | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/Trivac/src/OUT.f b/Trivac/src/OUT.f index 7c1f2bb..fe344d0 100755 --- a/Trivac/src/OUT.f +++ b/Trivac/src/OUT.f @@ -72,8 +72,8 @@ IF(NENTRY.LE.1) CALL XABORT('OUT: TWO PARAMETERS EXPECTED.') IF((IENTRY(1).NE.1).AND.(IENTRY(1).NE.2)) CALL XABORT('OUT: LCM ' 1 //'OBJECT EXPECTED AT LHS.') - IF(JENTRY(1).NE.0) CALL XABORT('OUT: ENTRY IN CREATE MODE EXPECT' - 1 //'ED.') + IF((JENTRY(1).NE.0).AND.(JENTRY(1).NE.1)) CALL XABORT('OUT: ENTR' + 1 //'Y IN CREATE OR MODIFICATION MODE EXPECTED.') IF((JENTRY(2).NE.2).OR.((IENTRY(2).NE.1).AND.(IENTRY(2).NE.2))) 1 CALL XABORT('OUT: LCM OBJECT IN READ-ONLY MODE EXPECTED AT RHS.') IPMAC2=KENTRY(1) @@ -84,9 +84,25 @@ CALL XABORT('OUT: SIGNATURE OF '//TEXT12//' IS '//HSIGN// 1 '. L_FLUX EXPECTED.') ENDIF - HSIGN='L_MACROLIB' - CALL LCMPTC(IPMAC2,'SIGNATURE',12,HSIGN) - CALL LCMPTC(IPMAC2,'LINK.FLUX',12,TEXT12) + IF(JENTRY(1).EQ.0) THEN + HSIGN='L_MACROLIB' + CALL LCMPTC(IPMAC2,'SIGNATURE',12,HSIGN) + CALL LCMPTC(IPMAC2,'LINK.FLUX',12,TEXT12) + ELSE + CALL LCMGTC(IPMAC2,'SIGNATURE',12,HSIGN) + IF(HSIGN.NE.'L_MACROLIB') THEN + TEXT12=HENTRY(1) + CALL XABORT('OUT: SIGNATURE OF '//TEXT12//' IS '//HSIGN// + 1 '. L_MACROLIB EXPECTED.') + ENDIF + IGP(:NSTATE)=0 + CALL LCMGET(IPMAC2,'STATE-VECTOR',IGP) + NGRP=IGP(1) + NBMIX=IGP(2) + NL=IGP(3) + NBFIS=IGP(4) + NALBP=IGP(8) + ENDIF *---- * RECOVER IPGEOM, IPMAC1 AND IPTRK POINTERS. *---- |
