Annotation of researchv10dc/cmd/matlab/pyxis/helper.f, revision 1.1

1.1     ! root        1:       subroutine helper(h)
        !             2:       character*4 h(4)
        !             3: c
        !             4: c     Handle HELP file
        !             5: c     h = key word, format 4a1
        !             6: c
        !             7: c     Two direct access files are required.  Their locations are:
        !             8: c
        !             9:       character*(*) idfile,dafile
        !            10:       parameter(idfile='/v/lib/mathelp.idx')
        !            11:       parameter(dafile='/v/lib/mathelp.dac')
        !            12: c
        !            13:       parameter(lrecl=66)
        !            14:       character*66 line
        !            15:       character*4 keys(128),key
        !            16:       integer locs(128)
        !            17:       INTEGER DDT,ERR,FMT,LCT(4),LIN(1024),LPT(6),RIO,WIO,RTE,WTE,HIO
        !            18:       COMMON /IOP/ DDT,ERR,FMT,LCT,LIN,LPT,RIO,WIO,RTE,WTE,HIO
        !            19: c
        !            20: c     Initialization indicated by h(1) = 0
        !            21: c
        !            22:       if (h(1)(1:1) .eq. char(0)) then
        !            23:          open(unit=HIO,file=idfile,access='DIRECT',recl=8)
        !            24:          n = 0
        !            25:    10    n = n + 1
        !            26:          read(HIO,rec=n,err=15) keys(n),locs(n)
        !            27:          if (keys(n) .ne. 'EOF ') go to 10
        !            28:    15    close(unit=HIO)
        !            29:          nkeys = n-1
        !            30:          key = 'HELP'
        !            31:          open(unit=HIO,file=dafile,access='DIRECT',recl=lrecl)
        !            32:       endif
        !            33: c
        !            34: c     Convert h to conventional string
        !            35: c
        !            36:       if (h(1)(1:1) .ne. char(0)) then
        !            37:          do 20 i = 1, 4
        !            38:             key(i:i) = h(i)
        !            39:    20    continue
        !            40:       endif
        !            41: c
        !            42: c     Special case, HELP followed by blank.  Give general help.
        !            43: c
        !            44:       if (key .eq. '    ') then
        !            45:          write(WTE,30)
        !            46:          if (WIO .ne. 0) write(WIO,30)
        !            47:    30    format(0X,'Type HELP followed by'
        !            48:      >      /0X,'INTRO   (To get started)'
        !            49:      >      /0X,'NEWS    (recent revisions)')
        !            50:          write(WTE,31) (keys(n), n = 19, nkeys)
        !            51:          if (WIO .ne. 0) write(WIO,31) (keys(n), n = 19, nkeys)
        !            52:    31    format(0X,a4,10a6)
        !            53:          write(WTE,32) (keys(n), n = 4, 18)
        !            54:          if (WIO .ne. 0) write(WIO,32) (keys(n), n = 4, 18)
        !            55:    32    format(0X,15(a1,1x))
        !            56:          return
        !            57:       endif
        !            58: c
        !            59: c     Find key word in keys table
        !            60: c
        !            61:       do 40 k = 1, nkeys
        !            62:          if (key .eq. keys(k)) go to 50
        !            63:    40 continue
        !            64:       write(WTE,45) key
        !            65:       if (WIO .ne. 0) write(WIO,45) key
        !            66:    45 format(0X,'SORRY, NO HELP ON ',a4)
        !            67:       return
        !            68: c
        !            69: c     Read and echo lines from direct access help file
        !            70: c
        !            71:    50 write(WTE,75)
        !            72:       if (WIO .ne. 0) write(WIO,75)
        !            73:       k0 = locs(k)
        !            74:       k1 = locs(k+1) - 2
        !            75:       do 80 k = k0, k1
        !            76:    60    read(HIO,rec=k) line
        !            77:          do 65 j = lrecl, 1, -1
        !            78:             if (line(j:j) .ne. ' ') go to 70
        !            79:    65    continue
        !            80:    70    write(WTE,75) line(1:j)
        !            81:          if (WIO .ne. 0) write(WIO,75) line(1:j)
        !            82:    75    format(0X,a)
        !            83:    80 continue
        !            84:       return
        !            85:       end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.