summaryrefslogtreecommitdiff
path: root/Trivac/src/OUT.f
diff options
context:
space:
mode:
Diffstat (limited to 'Trivac/src/OUT.f')
-rwxr-xr-xTrivac/src/OUT.f26
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.
*----