home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / libs / matlab.lzh / MATLAB / MATLAB.LZH / Source / MatLab / FILES.FOR < prev    next >
Encoding:
Text File  |  1991-04-13  |  1.7 KB  |  82 lines

  1.       SUBROUTINE FILES (LUNIT, NAME)
  2.       IMPLICIT NONE
  3. C
  4. C AMIGA SPECIFIC ROUTINE TO ALLOCATE FILES
  5. C   LUNIT = LOGICAL UNIT NUMBER
  6. C   NAME = FILE NAME, 1 CHAR/WORD
  7. C
  8.       INTEGER LUNIT
  9.       CHARACTER*1024 NAME
  10. C
  11.       INCLUDE MATLAB$KOM:IOP.KOM
  12. C
  13.       INTEGER J
  14. C
  15. C ***      AMIGA STUFF TO SQUEEZE NAME FROM ONE CHAR/WORD TO ONE CHAR/BYTE
  16.       CHARACTER*1024 NAME2
  17.       INTEGER*1 STRIP(4,256), STRIP2(32)
  18.       CHARACTER*32 NAME3
  19.       EQUIVALENCE (NAME2, STRIP), (NAME3, STRIP2)
  20. C
  21. C
  22.       FE = 0
  23. C
  24. C ***      ERROR CATCHER
  25.       IF (LUNIT.EQ.0) RETURN
  26. C
  27. C ***      PRINTER
  28.       IF (LUNIT.EQ.6) RETURN
  29. C
  30. C ***      TERMINAL I/O
  31.       IF (LUNIT.EQ.9) RETURN
  32. C
  33. C ***      HELP FILE
  34.       IF (LUNIT.EQ.11) THEN
  35.         OPEN (11, FILE = 'HELP.LIS', STATUS = 'OLD', ERR = 14)
  36.         WRITE (9, 09)
  37. 09      FORMAT (/, ' HELP is available')
  38.         RETURN
  39.       ENDIF
  40.       IF (LUNIT.EQ.-11 .AND. HIO.NE.0) THEN
  41.         REWIND (11, ERR = 99)
  42.         RETURN
  43.       ENDIF
  44.       IF (LUNIT.LT.0) THEN
  45.         CLOSE (UNIT = -LUNIT, ERR = 99)
  46.         RETURN
  47.       ENDIF
  48. C
  49. C ***      ALL OTHER FILES
  50.       NAME2 = NAME
  51.       DO 37 J = 1, 32
  52.         STRIP2(J) = STRIP(1,J)
  53. 37    CONTINUE
  54.       OPEN (UNIT = LUNIT, FILE = NAME3, STATUS = 'UNKNOWN', ERR = 98)
  55.       RETURN
  56. C
  57. C ***      HELP FILE NOT FOUND
  58. 14    CONTINUE
  59.       WRITE (9, 15)
  60. 15    FORMAT (' HELP IS NOT AVAILABLE')
  61.       HIO = 0
  62.       RETURN
  63. C
  64. C ***      GENERAL FILE OPEN FAILURE
  65. 98    CONTINUE
  66.       WRITE (9, 16)
  67. 16    FORMAT (' OPEN FILE FAILED')
  68.       FE = 1
  69. C
  70. C ***      IF THIS WAS A DIARY FILE (OUTPUT), SET ITS FILE HANDLE TO 0
  71. C           OTHERWISE, SET THE I/O TO TERMINAL I/O
  72.       IF (LUNIT.EQ.8) THEN
  73.         WIO = 0
  74.       ELSE
  75.         RIO = RTE
  76.       ENDIF
  77.       RETURN
  78. C
  79. 99    CONTINUE
  80.       RETURN
  81.       END
  82.