FTN4 SUBROUTINE ITEQU(ITN,KBUF), 92903-16315 REV.1805 770722 C C SOURCE 92903-18315 C C C C ************************************************************** C * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS * C * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * C * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * C * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * C ************************************************************** C C C C********************************************************************* C* * C* THIS SUBROUTINE IS USED TO SEARCH ALL THE KEY * C* ITEMS # WHICH CORRESPONDS TO THE SAME KEY IN AN IMAGE DATA * C* BASE * C* ITN IS THE KEY ITEM # IN THE DATA SET * C* KBUF IS A 5 WORDS LONG BUFFER CONTAINING THE * C* ITEM #'S EQUIVALENTS * C* * C* IF AN ERROR IS DETECTED KBUF(1)=-1 ON RETURN * C* * C********************************************************************* C DIMENSION KBUF(1),IBUF(12) C C C INITIALISE KBUF C DO 100 I=1,5 100 KBUF(I)=0 C C PERFORM CHECKS - ITEM IS A KEY C CALL DBINF(2HI ,2,ITN,IBUF) IF(IBUF.NE.0) GO TO 130 IF(IAND(IBUF(5),177400B).EQ.0) GO TO 130 CALL DBINF(2HS ,2,IBUF(9),IBUF) IF(IBUF.NE.0) GO TO 130 C C CHECKS OK NOW BUILD KBUF C J=1 IF(IGET1(IBUF,10).NE.1HD) GO TO 110 C C SEARCH MASTER KEY ITEM # LINKED C CALL DBINF(2HS ,4,ITN,IBUF) IF(IBUF.NE.0) GO TO 130 IF(IBUF(2).EQ.0) GO TO 125 KBUF(J)=IBUF(4) J=J+1 IBUF=IBUF(4) GO TO 115 C C SEARCH IN DETAIL D.S LINKED C 110 IBUF=ITN 115 CALL DBINF(2HS ,4,IBUF,IBUF) IF(IBUF.NE.0) GO TO 130 IF(IBUF(2).EQ.0) GO TO 125 DO 120 I=1,IBUF(2) IF(IBUF(2*I+2).EQ.ITN) GO TO 120 KBUF(J)=IBUF(2*I+2) J=J+1 120 CONTINUE C C NORMAL RETURN C 125 RETURN C C ERROR RETURN C 130 KBUF=-1 RETURN C END END$