@@ -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,9 @@ SUBROUTINE HGNF(IDN,IDNEVT,X,IERROR)
737749* -------------------------------------------------------------------------------
738750
739751 SUBROUTINE HGNT (IDN ,IDNEVT ,IERROR )
740- CALL HGNT1(IDN, ' *' , ' *' , 0 , 0 , IDNEVT, IERROR)
752+ INTEGER ZARR(1 )
753+ ZARR(1 ) = 0
754+ CALL HGNT1(IDN, ' *' , ' *' , ZARR, 0 , IDNEVT, IERROR)
741755 END
742756
743757* -------------------------------------------------------------------------------
@@ -1482,6 +1496,12 @@ SUBROUTINE HMACHI
14821496 + ' ' ,' /' /
14831497 DATA IPROJ/ ' HIST' ,' HIST' ,' PROX' ,' PROY' ,' SLIX' ,
14841498 + ' SLIY' ,' BANX' ,' BANY' ,' FUNC' /
1499+ DIMENSION IFLAG(37 )
1500+ EQUIVALENCE (IFLAG(1 ),I1)
1501+ INTEGER INOARR(4 )
1502+ INTEGER IDOARR(4 )
1503+ INOARR(1 ) = INO
1504+ IDOARR(1 ) = 0
14851505 HVERSN = 1.00
14861506 NBIT = MBIT
14871507 NBITCH = MBITCH
@@ -1507,7 +1527,7 @@ SUBROUTINE HMACHI
15071527 IH = 0
15081528 NH = 0
15091529 IPONCE = 0
1510- CALL VZERO(I1 ,37 )
1530+ CALL VZERO(IFLAG ,37 )
15111531 K = (NBIT+1 )/ 2
15121532 MAXBIT(1 ) = 2
15131533 DO 10 I= 2 ,K
@@ -1521,10 +1541,10 @@ SUBROUTINE HMACHI
15211541 ICBLAC = IDG(34 )
15221542 ICFUNC = IDG(37 )
15231543 CALL UCTOH(IPROJ,IDENT,4 ,36 )
1524- CALL UCTOH(' NO ' ,INO ,4 ,4 )
1544+ CALL UCTOH(' NO ' ,INOARR ,4 ,4 )
15251545 L2 = 1
1526- CALL UCTOH(' $ ' ,IDOL ,4 ,4 )
1527- IDOLAR = JBYT(IDOL ,L2,NBITCH)
1546+ CALL UCTOH(' $ ' ,IDOARR ,4 ,4 )
1547+ IDOLAR = JBYT(IDOARR( 1 ) ,L2,NBITCH)
15281548 IBLANC = JBYT(IDG(41 ),L2,NBITCH)
15291549 NRECOV = .FALSE.
15301550 IBSIZE = 1009
@@ -2020,6 +2040,10 @@ SUBROUTINE HNBUFR(IDD)
20202040 CHARACTER * 128 CHWOLD, CHDIR, CWDRZ
20212041 INTEGER KEYS(2 )
20222042 LOGICAL MEMORY
2043+ INTEGER ZARR(1 )
2044+ INTEGER LBARR(1 )
2045+ INTEGER NLCARR(1 )
2046+ ZARR(1 ) = 0
20232047 IERR = 0
20242048 ICYCLE = 9999
20252049 NDIM = IQ(LCID+ ZNDIM)
@@ -2077,7 +2101,7 @@ SUBROUTINE HNBUFR(IDD)
20772101 ELSEIF (MEMORY .AND. LB.EQ. 0 ) THEN
20782102 KEYS(2 ) = IQ(LNAME+ IOFF+ ZNRZB)* 10000 +
20792103 + IQ(LNAME+ IOFF+ ZLCONT)
2080- CALL HRZIN(IHDIV,0 , 0 ,KEYS,ICYCLE,' C' )
2104+ CALL HRZIN(IHDIV,ZARR,ZARR ,KEYS,ICYCLE,' C' )
20812105 IF (IQUEST(1 ) .NE. 0 ) THEN
20822106 print * ,' Error reading contents bank' , ' HNBUFR' , IDD
20832107 IERR = 1
@@ -2086,7 +2110,9 @@ SUBROUTINE HNBUFR(IDD)
20862110 NWORDS = IQUEST(12 )
20872111 CALL HSPACE(NWORDS+1000 ,' HNBUFR' ,IDD)
20882112 IF (IERR .NE. 0 ) GOTO 50
2089- CALL HRZIN(IHDIV,LBUF,- LCIND,KEYS,ICYCLE,' ' )
2113+ LBARR(1 )= LBUF
2114+ NLCARR(1 )=- LCIND
2115+ CALL HRZIN(IHDIV,LBARR,NLCARR,KEYS,ICYCLE,' ' )
20902116 ELSEIF (LB .EQ. 0 ) THEN
20912117 NTOT = NWP+33
20922118 CALL HSPACE(NTOT,' HNBUFR' ,IDD)
@@ -2119,13 +2145,17 @@ SUBROUTINE HNTRD(INDX, IOFF, IBANK, IERROR)
21192145 INCLUDE ' quest.inc'
21202146 CHARACTER * 128 CHWOLD, CHDIR, CWDRZ
21212147 INTEGER KEYS(2 )
2148+ INTEGER NLCARR(1 )
2149+ INTEGER LBARR(1 )
2150+ LBARR(1 )= LBUF
21222151 IF (IQ(LNAME+ IOFF+ ZIBANK) .EQ. IBANK) THEN
21232152 LR2 = LQ(LNAME- INDX)
21242153 RETURN
21252154 ENDIF
21262155 IERROR = 0
21272156 IDD = IQ(LBUF-5 )
21282157 LCIND = IQ(LNAME+ IOFF+ ZLCONT)
2158+ NLCARR(1 ) = - LCIND
21292159 IF (IQ(LCID+ ZNPRIM) .LT. 0 ) THEN
21302160 LR2 = LQ(LBUF- LCIND)
21312161 DO 10 I = 2 , IBANK
@@ -2157,15 +2187,15 @@ SUBROUTINE HNTRD(INDX, IOFF, IBANK, IERROR)
21572187 IF (IQUEST(1 ) .NE. 0 ) GOTO 90
21582188 IQ(LNAME+ IOFF+ ZNRZB) = IBANK
21592189 IF (JBIT(IQ(LNAME+ IOFF+ ZDESC),28 ) .EQ. 1 ) THEN
2160- CALL HRZIN(IHDIV,LBUF, - LCIND ,KEYS,99999 ,' R' )
2190+ CALL HRZIN(IHDIV,LBARR,NLCARR ,KEYS,99999 ,' R' )
21612191 IF (IQUEST(1 ) .NE. 0 ) GOTO 90
21622192 ENDIF
21632193 ELSE
2164- CALL HRZIN(IHDIV,LBUF, - LCIND ,KEYS,99999 ,' R' )
2194+ CALL HRZIN(IHDIV,LBARR,NLCARR ,KEYS,99999 ,' R' )
21652195 IF (IQUEST(1 ) .NE. 0 ) THEN
21662196 KEYS(1 ) = 0
21672197 IQUEST(1 ) = 0
2168- CALL HRZIN(IHDIV,LBUF, - LCIND ,KEYS,99999 ,' R' )
2198+ CALL HRZIN(IHDIV,LBARR,NLCARR ,KEYS,99999 ,' R' )
21692199 ENDIF
21702200 IF (IQUEST(1 ) .NE. 0 ) GOTO 90
21712201 IQ(LQ(LBUF- LCIND)) = 0
@@ -2647,6 +2677,12 @@ SUBROUTINE HLDIRT(CHDIR)
26472677 INCLUDE ' quest.inc'
26482678 CHARACTER * 1 HTYPE
26492679 INTEGER KEYS(2 )
2680+ INTEGER ZARR(1 )
2681+ INTEGER PARR(1 )
2682+ INTEGER LARR(1 )
2683+ ZARR(1 ) = 0
2684+ PARR(1 ) = 1
2685+ LARR(1 ) = LHWORK
26502686 NCH= LENOCC(CHDIR)
26512687 WRITE (LOUT,1000 )CHDIR(1 :NCH)
26522688 IOPTS= IQUEST(88 )
@@ -2658,12 +2694,12 @@ SUBROUTINE HLDIRT(CHDIR)
26582694 KEYNUM = 1
26592695 KEYS(1 ) = KEYNUM
26602696 KEYS(2 ) = 0
2661- CALL HRZIN(IHWORK,0 , 0 ,KEYS,9999 ,' SC' )
2697+ CALL HRZIN(IHWORK,ZARR,ZARR ,KEYS,9999 ,' SC' )
26622698 IDN= IQUEST(21 )
26632699 IQ42= IQUEST(22 )
26642700 10 IF (IDN .EQ. 0 ) GOTO 90
26652701 KEYS(1 ) = KEYNUM
2666- CALL HRZIN(IHWORK,0 , 0 ,KEYS,9999 ,' SNC' )
2702+ CALL HRZIN(IHWORK,ZARR,ZARR ,KEYS,9999 ,' SNC' )
26672703 IF (IQUEST(1 ).NE. 0 )GO TO 90
26682704 IDN = IQUEST(21 )
26692705 IQ40= IQUEST(40 )
@@ -2675,7 +2711,7 @@ SUBROUTINE HLDIRT(CHDIR)
26752711 IF (IOPTA.NE. 0 )GO TO 40
26762712 CALL HSPACE(NWORDS+1000 ,' HLDIR ' ,IDN)
26772713 IF (IERR.NE. 0 ) GO TO 90
2678- CALL HRZIN(IHWORK,LHWORK, 1 ,KEYS,9999 ,' SND' )
2714+ CALL HRZIN(IHWORK,LARR,PARR ,KEYS,9999 ,' SND' )
26792715 IF (IQUEST(1 ).NE. 0 )THEN
26802716 print * , ' Bad sequence for RZ' ,' HLDIR' ,IDN
26812717 GO TO 90
0 commit comments