V10/cmd/matlab/helper.66
SUBROUTINE HELPER(H)
INTEGER H(4)
C
C HANDLE HELP FILE
C H = KEY WORD, FORMAT 4A1
C
C FORTRAN 66 VERSION USING SEQUENTIAL ACCESS
C ASSUMES THE HELP TEXT FILE IS ATTACHED TO THE UNIT HIO
C WHICH IS SET IN SUBROUTINE MATLAB AND STORED IN COMMON
C SEE THE COMMENTED OPEN STATEMENT BELOW
C
INTEGER ALFA(52),ALFB(52),ALFL,CASE
INTEGER DDT,ERR,FMT,LCT(4),LIN(1024),LPT(6),RIO,WIO,RTE,WTE,HIO
INTEGER SYM,SYN(4),BUF(256),CHAR,FLP(2),FIN,FUN,LHS,RHS,RAN(2)
COMMON /ALFS/ ALFA,ALFB,ALFL,CASE
COMMON /IOP/ DDT,ERR,FMT,LCT,LIN,LPT,RIO,WIO,RTE,WTE,HIO
COMMON /COM/ SYM,SYN,BUF,CHAR,FLP,FIN,FUN,LHS,RHS,RAN
INTEGER HIO,LRECL,BLANK,CMD(4,17),CMDL
DATA LRECL/80/,BLANK/1H /,CMDL/17/
DATA CMD/
$ 12,21,14,10, 14,21,28,14, 14,23,13,36, 14,33,18,29,
$ 15,24,27,36, 17,14,21,25, 18,15,36,36, 21,24,23,16,
$ 27,14,29,30, 28,14,22,18,
$ 28,17,24,27, 32,17,10,29, 32,17,18,21,
$ 32,17,24,36, 32,17,34,36, 21,10,21,10, 15,30,12,20/
101 FORMAT(80A1)
102 FORMAT(1X,80A1)
C
C INITIALIZATION INDICATED BY H(1) = 0
C READ AND ECHO THE FIRST LINE
C
IF (H(1) .NE. 0) GO TO 80
C OPEN(UNIT=HIO,FILE='HELP',ACCESS='SEQUENTIAL',STATUS='OLD')
REWIND HIO
READ(HIO,101,END=89) (BUF(I),I=1,LRECL)
GO TO 86
C
C SPECIAL CASE, HELP FOLLOWED BY BLANK. GIVE GENERAL HELP.
C
80 IF (H(1) .NE. BLANK) GO TO 83
WRITE(WTE,180)
IF (WIO .NE. 0) WRITE(WIO,180)
180 FORMAT(1X,'Type HELP followed by ...'
$ /1X,'INTRO (To get started)'
$ /1X,'NEWS (recent revisions)')
H(1) = 0
CALL FUNS(H)
CALL PRNTID(CMD,CMDL-2)
WRITE(WTE,181)
IF (WIO .NE. 0) WRITE(WIO,181)
181 FORMAT(1X,'ANS EDIT FILE FUN MACRO')
WRITE(WTE,182) (ALFA(I),I=38,ALFL)
IF (WIO .NE. 0) WRITE(WIO,182) (ALFA(I),I=38,ALFL)
182 FORMAT(1X,17(A1,1X)/)
GO TO 98
C
83 REWIND HIO
84 READ(HIO,101,END=89) (BUF(I),I=1,LRECL)
DO 85 I = 1, 4
IF (H(I) .NE. BUF(I)) GO TO 84
85 CONTINUE
86 WRITE(WTE,102)
IF (WIO .NE. 0) WRITE(WIO,102)
87 K = LRECL + 1
88 K = K - 1
IF (BUF(K) .EQ. BLANK) GO TO 88
WRITE(WTE,102) (BUF(I),I=1,K)
IF (WIO .NE. 0) WRITE(WIO,102) (BUF(I),I=1,K)
READ(HIO,101) (BUF(I),I=1,LRECL)
IF (BUF(1) .EQ. BLANK) GO TO 87
GO TO 98
C
89 WRITE(WTE,189) (H(I),I=1,4)
189 FORMAT(1X,'SORRY, NO HELP ON ',4A1)
C
98 RETURN
END