C.. DOCNAM.FTN BOHDEN K. CMAYLO DEC 1981 C.. C.. ROUTINE USED IN MAILER TO DECODE DOC001.W11 LINE C.. SUBROUTINE DOCNAM(ACCNT,INPUT,IQ,NUMDOC,NUMNAM,NAMES) BYTE ICOMA,IBLANK,IBL,IBR,INPUT(80) DOUBLE PRECISION ACCNT,TEMP,NAMES(100) DATA ICOMA,IBLANK,IBL,IBR/',',' ','<','>'/ C.. FORMAT IS XXX,XXX,XXX <#>NUMDOC<> NUMNAM=0 NUMDOC=0 INAME=0 IF(IQ.LE.0) RETURN C.. DO OVER ALL CHARACTERS ILAST=3 DO 1 I=4,IQ C.. SEE IF MULTIPLE BLANKS OR COMMAS IF(INPUT(I).EQ.IBLANK.AND.INPUT(I-1).EQ.IBLANK) GO TO 55 IF(INPUT(I).EQ.ICOMA.AND.INPUT(I-1).EQ.IBLANK) GO TO 55 IF(INPUT(I).EQ.IBLANK.AND.INPUT(I-1).EQ.ICOMA) GO TO 55 IF(INPUT(I).EQ.ICOMA.AND.INPUT(I-1).EQ.ICOMA) GO TO 55 C.. SEE IF ANY TERMINATORS IF(INPUT(I).EQ.ICOMA.OR.INPUT(I).EQ.IBLANK) GO TO 2 C.. SEE IF END OF NAMES IF(INPUT(I).EQ.IBR) GO TO 3 GO TO 1 C.. PLACE IN ANOTHER NAME 2 INAME=INAME+1 ILAST=ILAST+1 NCHAR=I-ILAST I1=I-1 C.. CHECK FOR GT 8 IF(NCHAR.GT.8) I1=ILAST+7 IF(NCHAR.GT.8) NCHAR=8 TEMP=' ' IF(NCHAR.LE.0) GO TO 67 ENCODE(NCHAR,5,TEMP,ERR=66)(INPUT(J-1+ILAST),J=1,NCHAR) 5 FORMAT(8A1) NAMES(INAME)=TEMP 55 ILAST=I GO TO 1 67 INAME=INAME-1 GO TO 55 66 TYPE 666,(INPUT(J),J=1,IQ) 666 FORMAT('0*** ERROR DOCNAM *** INVALID INDEX ITEM:'/1X,80A1) GO TO 67 C.. END OF NAMES, GET DOCUMENT NUMBER 3 I1=I+1 DO 4 K=I1,IQ IF(INPUT(K).EQ.IBL) GO TO 6 4 CONTINUE TYPE 7,ACCNT,(INPUT(K),K=1,IQ) 7 FORMAT('0*** ERROR *** FILE =[',A7,']DOC001.W11'/ 1 ' LINE:',80A1) RETURN C.. FIGURE DOC NUMBER 6 NCHAR=K-I1 IF(NCHAR.EQ.1) DECODE(NCHAR,11,INPUT(I1))NUMDOC IF(NCHAR.EQ.2) DECODE(NCHAR,12,INPUT(I1))NUMDOC IF(NCHAR.EQ.3) DECODE(NCHAR,13,INPUT(I1))NUMDOC 11 FORMAT(I1) 12 FORMAT(I2) 13 FORMAT(I3) NUMNAM=INAME RETURN 1 CONTINUE TYPE 7,ACCNT,(INPUT(K),K=1,IQ) RETURN END