@@ -296,6 +296,13 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
296296 INTEGER KEYS(2 )
297297 DATA KHIDE,KHID1,KHID2,KHCO1,KHCO2/ 4HHIDE ,4HHID1 ,4HHID2 ,
298298 + 4hHCO1 ,4HHCO2 /
299+ INTEGER ZARR(1 )
300+ INTEGER N2ARR(1 )
301+ INTEGER LCARR(1 )
302+ INTEGER LLARR(1 )
303+ ZARR(1 ) = 0
304+ N2ARR(1 ) = - 2
305+ LCARR(1 ) = LCDIR
299306 IOFSET= KOFSET
300307 IF (ICHTOP(ICDIR).LT. 0 )THEN
301308 print * , ' >>>>>> HRIN: ICHTOP(ICDIR).LT.0'
@@ -313,7 +320,7 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
313320 IDN= IDD
314321 IF (IDD.EQ. 0 )THEN
315322 KEYS(1 ) = 1
316- CALL HRZIN(IHDIV,0 , 0 ,KEYS,9999 ,' SC' )
323+ CALL HRZIN(IHDIV,ZARR,ZARR ,KEYS,9999 ,' SC' )
317324 IDN= IQUEST(21 )
318325 IQ42= IQUEST(22 )
319326 ENDIF
@@ -334,7 +341,7 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
334341 ENDIF
335342 KEYS(1 ) = IDN
336343 KEYS(2 ) = IQ42
337- CALL HRZIN(IHDIV,0 , 0 ,KEYS,ICYCLE,' NC' )
344+ CALL HRZIN(IHDIV,ZARR,ZARR ,KEYS,ICYCLE,' NC' )
338345 IF (IQUEST(1 ).NE. 0 )GO TO 70
339346 IQ40= IQUEST(40 )
340347 IQ41= IQUEST(41 )
@@ -355,7 +362,7 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
355362 20 CONTINUE
356363 IF (LIDS.EQ. 0 )THEN
357364 KEYS(1 ) = IDN
358- CALL HRZIN(IHDIV,LCDIR, - 2 ,KEYS,ICYCLE,' ND' )
365+ CALL HRZIN(IHDIV,LCARR,N2ARR ,KEYS,ICYCLE,' ND' )
359366 IF (IQUEST(1 ).NE. 0 )THEN
360367 print * , ' Bad sequence for RZ' ,' HRIN' ,IDN
361368 GO TO 70
@@ -365,7 +372,8 @@ SUBROUTINE HRIN(IDD,ICYCLE,KOFSET)
365372 ELSE
366373 LLID= LQ(LCDIR-9 )
367374 KEYS(1 ) = IDN
368- CALL HRZIN(IHDIV,LLID, 0 ,KEYS,ICYCLE,' ND' )
375+ LLARR(1 ) = LLID
376+ CALL HRZIN(IHDIV,LLARR,ZARR,KEYS,ICYCLE,' ND' )
369377 IF (IQUEST(1 ).NE. 0 )THEN
370378 print * , ' Bad sequence for RZ' ,' HRIN' ,IDN
371379 GO TO 70
@@ -692,6 +700,10 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
692700 INCLUDE ' quest.inc'
693701 DIMENSION X(* )
694702 INTEGER KEYS(2 )
703+ INTEGER LCARR(1 )
704+ INTEGER NARR(1 )
705+ LCARR(1 )= LCIDN
706+ NARR(1 )=- 1
695707 LC= LQ(LCIDN-1 )
696708 NEVB= IQ(LC-1 )/ IQ(LCIDN+2 )
697709 IBANK= (IDNEVT-1 )/ NEVB + 1
@@ -703,7 +715,7 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
703715 LKEY= LQ(LC)
704716 IF (LKEY.GT. 0 )THEN
705717 KEYS(1 )= IQ(LKEY+ IBANK)
706- CALL HRZIN(IHDIV,LCIDN, - 1 ,KEYS,99999 ,' RS' )
718+ CALL HRZIN(IHDIV,LCARR,NARR ,KEYS,99999 ,' RS' )
707719 ELSE
708720 IF (ICHTYP(ICDIR).EQ. 1 )THEN
709721 KEYS(1 ) = IQ(LCIDN+5 )+ 10000 * IBANK
@@ -712,7 +724,7 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
712724 KEYS(1 ) = IQ(LCIDN+5 )
713725 KEYS(2 ) = IBANK
714726 ENDIF
715- CALL HRZIN(IHDIV,LCIDN, - 1 ,KEYS,99999 ,' R' )
727+ CALL HRZIN(IHDIV,LCARR,NARR ,KEYS,99999 ,' R' )
716728 IF (IQUEST(1 ).NE. 0 )GO TO 90
717729 ENDIF
718730 ELSE
@@ -737,7 +749,10 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
737749* -------------------------------------------------------------------------------
738750
739751 SUBROUTINE HGNT (IDN ,IDNEVT ,IERROR )
740- CALL HGNT1(IDN, ' *' , ' *' , 0 , 0 , IDNEVT, IERROR)
752+ INCLUDE ' pawc.inc'
753+ INTEGER ZARR(1 )
754+ ZARR(1 ) = 0
755+ CALL HGNT1(IDN, ' *' , ' *' , ZARR, 0 , IDNEVT, IERROR)
741756 END
742757
743758* -------------------------------------------------------------------------------
@@ -1482,6 +1497,12 @@ SUBROUTINE HMACHI
14821497 + ' ' ,' /' /
14831498 DATA IPROJ/ ' HIST' ,' HIST' ,' PROX' ,' PROY' ,' SLIX' ,
14841499 + ' SLIY' ,' BANX' ,' BANY' ,' FUNC' /
1500+ DIMENSION IFLAG(37 )
1501+ EQUIVALENCE (IFLAG(1 ),I1)
1502+ INTEGER INOARR(1 )
1503+ INTEGER IDOARR(1 )
1504+ INOARR(1 ) = INO
1505+ IDOARR(1 ) = 0
14851506 HVERSN = 1.00
14861507 NBIT = MBIT
14871508 NBITCH = MBITCH
@@ -1507,7 +1528,7 @@ SUBROUTINE HMACHI
15071528 IH = 0
15081529 NH = 0
15091530 IPONCE = 0
1510- CALL VZERO(I1 ,37 )
1531+ CALL VZERO(IFLAG ,37 )
15111532 K = (NBIT+1 )/ 2
15121533 MAXBIT(1 ) = 2
15131534 DO 10 I= 2 ,K
@@ -1521,10 +1542,10 @@ SUBROUTINE HMACHI
15211542 ICBLAC = IDG(34 )
15221543 ICFUNC = IDG(37 )
15231544 CALL UCTOH(IPROJ,IDENT,4 ,36 )
1524- CALL UCTOH(' NO ' ,INO ,4 ,4 )
1545+ CALL UCTOH(' NO ' ,INOARR ,4 ,4 )
15251546 L2 = 1
1526- CALL UCTOH(' $ ' ,IDOL ,4 ,4 )
1527- IDOLAR = JBYT(IDOL ,L2,NBITCH)
1547+ CALL UCTOH(' $ ' ,IDOARR ,4 ,4 )
1548+ IDOLAR = JBYT(IDOARR( 1 ) ,L2,NBITCH)
15281549 IBLANC = JBYT(IDG(41 ),L2,NBITCH)
15291550 NRECOV = .FALSE.
15301551 IBSIZE = 1009
@@ -2020,6 +2041,10 @@ SUBROUTINE HNBUFR(IDD)
20202041 CHARACTER * 128 CHWOLD, CHDIR, CWDRZ
20212042 INTEGER KEYS(2 )
20222043 LOGICAL MEMORY
2044+ INTEGER ZARR(1 )
2045+ INTEGER LBARR(1 )
2046+ INTEGER NLCARR(1 )
2047+ ZARR(1 ) = 0
20232048 IERR = 0
20242049 ICYCLE = 9999
20252050 NDIM = IQ(LCID+ ZNDIM)
@@ -2077,7 +2102,7 @@ SUBROUTINE HNBUFR(IDD)
20772102 ELSEIF (MEMORY .AND. LB.EQ. 0 ) THEN
20782103 KEYS(2 ) = IQ(LNAME+ IOFF+ ZNRZB)* 10000 +
20792104 + IQ(LNAME+ IOFF+ ZLCONT)
2080- CALL HRZIN(IHDIV,0 , 0 ,KEYS,ICYCLE,' C' )
2105+ CALL HRZIN(IHDIV,ZARR,ZARR ,KEYS,ICYCLE,' C' )
20812106 IF (IQUEST(1 ) .NE. 0 ) THEN
20822107 print * ,' Error reading contents bank' , ' HNBUFR' , IDD
20832108 IERR = 1
@@ -2086,7 +2111,9 @@ SUBROUTINE HNBUFR(IDD)
20862111 NWORDS = IQUEST(12 )
20872112 CALL HSPACE(NWORDS+1000 ,' HNBUFR' ,IDD)
20882113 IF (IERR .NE. 0 ) GOTO 50
2089- CALL HRZIN(IHDIV,LBUF,- LCIND,KEYS,ICYCLE,' ' )
2114+ LBARR(1 )= LBUF
2115+ NLCARR(1 )=- LCIND
2116+ CALL HRZIN(IHDIV,LBARR,NLCARR,KEYS,ICYCLE,' ' )
20902117 ELSEIF (LB .EQ. 0 ) THEN
20912118 NTOT = NWP+33
20922119 CALL HSPACE(NTOT,' HNBUFR' ,IDD)
@@ -2119,13 +2146,17 @@ SUBROUTINE HNTRD(INDX, IOFF, IBANK, IERROR)
21192146 INCLUDE ' quest.inc'
21202147 CHARACTER * 128 CHWOLD, CHDIR, CWDRZ
21212148 INTEGER KEYS(2 )
2149+ INTEGER NLCARR(1 )
2150+ INTEGER LBARR(1 )
2151+ LBARR(1 )= LBUF
21222152 IF (IQ(LNAME+ IOFF+ ZIBANK) .EQ. IBANK) THEN
21232153 LR2 = LQ(LNAME- INDX)
21242154 RETURN
21252155 ENDIF
21262156 IERROR = 0
21272157 IDD = IQ(LBUF-5 )
21282158 LCIND = IQ(LNAME+ IOFF+ ZLCONT)
2159+ NLCARR(1 ) = - 1
21292160 IF (IQ(LCID+ ZNPRIM) .LT. 0 ) THEN
21302161 LR2 = LQ(LBUF- LCIND)
21312162 DO 10 I = 2 , IBANK
@@ -2157,15 +2188,15 @@ SUBROUTINE HNTRD(INDX, IOFF, IBANK, IERROR)
21572188 IF (IQUEST(1 ) .NE. 0 ) GOTO 90
21582189 IQ(LNAME+ IOFF+ ZNRZB) = IBANK
21592190 IF (JBIT(IQ(LNAME+ IOFF+ ZDESC),28 ) .EQ. 1 ) THEN
2160- CALL HRZIN(IHDIV,LBUF, - LCIND ,KEYS,99999 ,' R' )
2191+ CALL HRZIN(IHDIV,LBARR,NLCARR ,KEYS,99999 ,' R' )
21612192 IF (IQUEST(1 ) .NE. 0 ) GOTO 90
21622193 ENDIF
21632194 ELSE
2164- CALL HRZIN(IHDIV,LBUF, - LCIND ,KEYS,99999 ,' R' )
2195+ CALL HRZIN(IHDIV,LBARR,NLCARR ,KEYS,99999 ,' R' )
21652196 IF (IQUEST(1 ) .NE. 0 ) THEN
21662197 KEYS(1 ) = 0
21672198 IQUEST(1 ) = 0
2168- CALL HRZIN(IHDIV,LBUF, - LCIND ,KEYS,99999 ,' R' )
2199+ CALL HRZIN(IHDIV,LBARR,NLCARR ,KEYS,99999 ,' R' )
21692200 ENDIF
21702201 IF (IQUEST(1 ) .NE. 0 ) GOTO 90
21712202 IQ(LQ(LBUF- LCIND)) = 0
@@ -2647,6 +2678,12 @@ SUBROUTINE HLDIRT(CHDIR)
26472678 INCLUDE ' quest.inc'
26482679 CHARACTER * 1 HTYPE
26492680 INTEGER KEYS(2 )
2681+ INTEGER ZARR(1 )
2682+ INTEGER PARR(1 )
2683+ INTEGER LARR(1 )
2684+ ZARR(1 ) = 0
2685+ PARR(1 ) = 1
2686+ LARR(1 ) = LHWORK
26502687 NCH= LENOCC(CHDIR)
26512688 WRITE (LOUT,1000 )CHDIR(1 :NCH)
26522689 IOPTS= IQUEST(88 )
@@ -2658,12 +2695,12 @@ SUBROUTINE HLDIRT(CHDIR)
26582695 KEYNUM = 1
26592696 KEYS(1 ) = KEYNUM
26602697 KEYS(2 ) = 0
2661- CALL HRZIN(IHWORK,0 , 0 ,KEYS,9999 ,' SC' )
2698+ CALL HRZIN(IHWORK,ZARR,ZARR ,KEYS,9999 ,' SC' )
26622699 IDN= IQUEST(21 )
26632700 IQ42= IQUEST(22 )
26642701 10 IF (IDN .EQ. 0 ) GOTO 90
26652702 KEYS(1 ) = KEYNUM
2666- CALL HRZIN(IHWORK,0 , 0 ,KEYS,9999 ,' SNC' )
2703+ CALL HRZIN(IHWORK,ZARR,ZARR ,KEYS,9999 ,' SNC' )
26672704 IF (IQUEST(1 ).NE. 0 )GO TO 90
26682705 IDN = IQUEST(21 )
26692706 IQ40= IQUEST(40 )
@@ -2675,7 +2712,7 @@ SUBROUTINE HLDIRT(CHDIR)
26752712 IF (IOPTA.NE. 0 )GO TO 40
26762713 CALL HSPACE(NWORDS+1000 ,' HLDIR ' ,IDN)
26772714 IF (IERR.NE. 0 ) GO TO 90
2678- CALL HRZIN(IHWORK,LHWORK, 1 ,KEYS,9999 ,' SND' )
2715+ CALL HRZIN(IHWORK,LARR,PARR ,KEYS,9999 ,' SND' )
26792716 IF (IQUEST(1 ).NE. 0 )THEN
26802717 print * , ' Bad sequence for RZ' ,' HLDIR' ,IDN
26812718 GO TO 90
0 commit comments