home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / modcomp / fxfile. < prev    next >
Text File  |  2020-01-01  |  5KB  |  164 lines

  1.       SUBROUTINE FXFILE(INNAM,OUTNAM,NCHRFX,IND)
  2. C
  3. C     ****************************************************************
  4. C
  5. C              KERMIT for the MODCOMP MAXIV operating system
  6. C
  7. C        Compliments of:
  8. C
  9. C                         SETPOINT, Inc.
  10. C                      10245 Brecksville Rd.
  11. C                      Brecksville, Ohio 44141
  12. C
  13. C
  14. C      KERMIT is a copyrighted protocol of Columbia Univ. The authors
  15. C      of this version hereby grant permission to copy this software
  16. C      provided that it is not used for an explicitly commercial
  17. C      purpose and that proper credit be given. SETPOINT, Inc. makes
  18. C      no warranty whatsoever regarding the accuracy of this package
  19. C      and will assume no liability resulting from it's use.
  20. C
  21. C     ****************************************************************
  22. C
  23. C     Abstract: FXFILE TRUNCATES THE FILE TO 8 CHARACTERS AND
  24. C               REPLACES ANY NON CAN-CODABLE CHARACTER WITH A "$".
  25. C
  26. C     MODIFICATION HISTORY
  27. C
  28. C     BY            DATE     REASON            PROGRAMS AFFECTED
  29. C
  30. C     ****************************************************************
  31. C
  32. C     Author: BOB BORGESON          Version: A.0    Date: Oct-86
  33. C
  34. C     Calling Parameters:
  35. C
  36. C     R    INNAM   - UNPACKED NAME TO BE FIXED
  37. C     W    OUTNAM  - UNPACKED FIXED FILE NAME
  38. C     R    NCHRFX  - # OF CHARACTERS TO CHECK (MAX = 8)
  39. C     W    IND     - THE # OF CHARACTERS CONVERTED TO $
  40. C
  41. C     ****************************************************************
  42. C
  43. C     Messages generated by this module :  None
  44. C
  45. C     ****************************************************************
  46. C
  47. C     Subroutines called directly : None
  48. C
  49. C     ****************************************************************
  50. C
  51. C     Files referenced :  None
  52. C
  53. C
  54. C     ****************************************************************
  55. C
  56. C     Local variable definitions :
  57. C
  58. C      CHAR - FLAG INDICATES AT LEAST 1 CHARACTER FOUND
  59. C
  60. C     ****************************************************************
  61. C
  62. C     Commons referenced : KER local common
  63. C
  64. C     ****************************************************************
  65. C
  66. C     (*$END.DOCUMENT*)
  67. C
  68. C     ****************************************************************
  69. C     *                                                              *
  70. C     *         D I M E N S I O N   S T A T E M E N T S              *
  71. C     *                                                              *
  72. C     ****************************************************************
  73. C
  74.       IMPLICIT INTEGER (A-Z)
  75. C
  76.       INTEGER*2   INNAM(1),    OUTNAM(1)
  77. C
  78. C     ****************************************************************
  79. C     *                                                              *
  80. C     *         T Y P E   S T A T E M E N T S                        *
  81. C     *                                                              *
  82. C     ****************************************************************
  83. C
  84. C     ****************************************************************
  85. C     *                                                              *
  86. C     *         C O M M O N   S T A T E M E N T S                    *
  87. C     *                                                              *
  88. C     ****************************************************************
  89. C
  90.       INCLUDE USL/KERCOM
  91.       INCLUDE USL/KERPMC
  92. C
  93. C     ****************************************************************
  94. C     *                                                              *
  95. C     *         E Q U I V A L E N C E   S T A T E M E N T S          *
  96. C     *                                                              *
  97. C     ****************************************************************
  98. C
  99. C
  100. C     ****************************************************************
  101. C     *                                                              *
  102. C     *         D A T A   S T A T E M E N T S                        *
  103. C     *                                                              *
  104. C     ****************************************************************
  105. C
  106. C
  107. C     ****************************************************************
  108. C
  109. C     Code starts here :
  110. C
  111.       IND = 0
  112. C
  113. C                             FILL OUTNAM WITH BLANKS
  114. C
  115.       DO 100 I = 1,8
  116. C
  117.         OUTNAM(I) = 4Z0020
  118. C
  119.   100 CONTINUE
  120. C
  121. C                             CHECK FOR CAN CODE CHARCTERS AND
  122. C                             REPLACE NASTY ONES WITH "$"
  123. C
  124.       CHAR = 0
  125. C
  126.       IF(NCHRFX .GT. 8)NCHRFX = 8
  127. C
  128.       NCRFX1 = NCHRFX + 1
  129. C
  130.       DO 1000 J = 1,NCHRFX
  131. C
  132.         I = NCRFX1 - J
  133. C
  134.         IF((INNAM(I) .EQ. BLANK) .AND. (CHAR .EQ. 0))GO TO 300
  135. C
  136.         IF(((INNAM(I) .GE. BIGA) .AND. (INNAM(I) .LE. BIGZ)) .OR.
  137.      >     ((INNAM(I) .GE. DIG0) .AND. (INNAM(I) .LE. DIG9)) .OR.
  138.      >      (INNAM(I) .EQ. COLON)                            .OR.
  139.      >      (INNAM(I) .EQ. PERIOD)                           .OR.
  140.      >      (INNAM(I) .EQ. DOLLAR))GO TO 200
  141. C
  142.         OUTNAM(I) = DOLLAR
  143.         IND = IND + 1
  144.         CHAR = 1
  145. C
  146.         GO TO 1000
  147. C
  148.   200   CONTINUE
  149. C
  150.         OUTNAM(I) = INNAM(I)
  151.         CHAR = 1
  152.         GO TO 1000
  153. C
  154.   300   CONTINUE
  155. C
  156.         OUTNAM(I) = INNAM(I)
  157. C
  158.  1000 CONTINUE
  159. C
  160.  1100 CONTINUE
  161. C
  162.       RETURN
  163.       END
  164.