FTN SUBROUTINE PRTLN(STRNG,LEN,V,HDFLG),92069-16061 REV.2013 791119 INTEGER STRNG(37),LEN,V(8) LOGICAL HDFLG C C C***************************************************************** C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED C NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR C TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH OUT THE PRIOR C WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. C****************************************************************** C C C SOURCE: 92069-18107 C RELOC: 92069-16060 C C C****************************************************************: C C C C C CALLING SEQUENCE: C C CALL PRTLN(STRNG,LEN,V,HDFLG) C C WHERE: C C STRNG C IS THE ASCII STRING TO BE PRINTED C C LEN C IS THE POSITIVE LENGTH OF THE STRING IN BYTES C C V C IS AN ARRAY CONTAINING THE PRINT OPTIONS ACCORDING C TO THE SUBROUTINE SPLIT. C C HDFLG C TRUE = THIS IS A HEADER PRINT STATEMENT C FALSE = THIS IS A SIMPLE LINE C C HDFLG IS USED TO KEEP THIS SUBROUTINE FROM BECOMING C RECURSIVE. C C C C C$$$$$$$$$$$$$$$$$$$ NOVEMBER 3,1978 $$$$$$$$$$$$$$$$$$$$$ INTEGER INLU,ITTY,ILP,IDCB,JDCB,XEQ INTEGER DBNAM,DBLEV,DSNAM,DINAM,SELECT,SNAM INTEGER DSNUM,DINUM,PARM,LPARM,ECHO,QSERR INTEGER IMA,IB,IBSZ,SECNO,IEND,ISCAN LOGICAL BREAK INTEGER IPFLAG,IOFLAG,RMOTE LOGICAL BATCH,XQBCH INTEGER PAGCNT,LNCNT INTEGER PAGLEN,COLLIM REAL RRCNT REAL SELT,RSEC INTEGER IPTR REAL RCOUNT INTEGER S,R3,TRKNM,IDILU INTEGER R6 REAL ATOTAL INTEGER LIST,L,T,U INTEGER LEVSTR,LEVLEN INTEGER IBUFF INTEGER SS(7,100) C COMMON INLU(145),ITTY(145),ILP(145),IDCB(145),JDCB(144),XEQ(145) COMMON DBNAM(10),DBLEV(3),DSNAM(3),DINAM(3),SELECT(6),SNAM(3) COMMON DSNUM,DINUM,PARM(40),LPARM,ECHO,QSERR COMMON IMA(37),IB(896),IBSZ,SECNO,IEND,ISCAN COMMON BREAK COMMON IPFLAG,IOFLAG,RMOTE COMMON BATCH,XQBCH COMMON PAGCNT,LNCNT COMMON PAGLEN,COLLIM COMMON RRCNT COMMON SELT(64),RSEC COMMON IPTR COMMON RCOUNT COMMON S(15,50),R3,TRKNM,IDILU COMMON R6 COMMON ATOTAL(6,5) COMMON LIST(101,6),L(7),T(5),U(7,5) COMMON LEVSTR(66,5),LEVLEN(5) COMMON IBUFF(2048) C EQUIVALENCE (S,SS) C$$$$$$$$$$$$$$$$$$$ NOVEMBER 3,1978 $$$$$$$$$$$$$$$$$$$$$ C C C C C C C C C BEGIN C C C C SET THE BREAK FLAG TO FALSE C BREAK = .FALSE. C C SKIP THE CORRECT NUMBER OF PAGES AND LINES C CALL SKIP(V(3),V(1),HDFLG) C C SCAN OFF THE BLANKS C DO 10 I = LEN,2,-1 CALL SGET(STRNG,I,ICHAR) IF(ICHAR .NE. 40B) GOTO 20 10 CONTINUE C C THIS IS A TOTALLY EMPTY LINE C C PRINT A BLANK C C C PRINT THE LINE C 20 CONTINUE CALL QRIO(2,ILP,STRNG,-I) LNCNT = LNCNT + 1 C C CHECK THE BREAK FLAG C 30 CONTINUE IF(IFBRK (IDUM) .NE. 0) GOTO 50 C C SKIP THE APPROPRIATE LINES AFTER THE LINE C CALL SKIP(V(4),V(2),HDFLG) C C BLANK THE STRING C CALL SFILL(STRNG,1,COLLIM,40B) GOTO 60 C C C SET BREAK TO TRUE C 50 CONTINUE BREAK = .TRUE. 60 RETURN END