SUBROUTINE FXFILE(INNAM,OUTNAM,NCHRFX,IND) C C **************************************************************** C C KERMIT for the MODCOMP MAXIV operating system C C Compliments of: C C SETPOINT, Inc. C 10245 Brecksville Rd. C Brecksville, Ohio 44141 C C C KERMIT is a copyrighted protocol of Columbia Univ. The authors C of this version hereby grant permission to copy this software C provided that it is not used for an explicitly commercial C purpose and that proper credit be given. SETPOINT, Inc. makes C no warranty whatsoever regarding the accuracy of this package C and will assume no liability resulting from it's use. C C **************************************************************** C C Abstract: FXFILE TRUNCATES THE FILE TO 8 CHARACTERS AND C REPLACES ANY NON CAN-CODABLE CHARACTER WITH A "$". C C MODIFICATION HISTORY C C BY DATE REASON PROGRAMS AFFECTED C C **************************************************************** C C Author: BOB BORGESON Version: A.0 Date: Oct-86 C C Calling Parameters: C C R INNAM - UNPACKED NAME TO BE FIXED C W OUTNAM - UNPACKED FIXED FILE NAME C R NCHRFX - # OF CHARACTERS TO CHECK (MAX = 8) C W IND - THE # OF CHARACTERS CONVERTED TO $ C C **************************************************************** C C Messages generated by this module : None C C **************************************************************** C C Subroutines called directly : None C C **************************************************************** C C Files referenced : None C C C **************************************************************** C C Local variable definitions : C C CHAR - FLAG INDICATES AT LEAST 1 CHARACTER FOUND C C **************************************************************** C C Commons referenced : KER local common C C **************************************************************** C C (*$END.DOCUMENT*) C C **************************************************************** C * * C * D I M E N S I O N S T A T E M E N T S * C * * C **************************************************************** C IMPLICIT INTEGER (A-Z) C INTEGER*2 INNAM(1), OUTNAM(1) C C **************************************************************** C * * C * T Y P E S T A T E M E N T S * C * * C **************************************************************** C C **************************************************************** C * * C * C O M M O N S T A T E M E N T S * C * * C **************************************************************** C INCLUDE USL/KERCOM INCLUDE USL/KERPMC C C **************************************************************** C * * C * E Q U I V A L E N C E S T A T E M E N T S * C * * C **************************************************************** C C C **************************************************************** C * * C * D A T A S T A T E M E N T S * C * * C **************************************************************** C C C **************************************************************** C C Code starts here : C IND = 0 C C FILL OUTNAM WITH BLANKS C DO 100 I = 1,8 C OUTNAM(I) = 4Z0020 C 100 CONTINUE C C CHECK FOR CAN CODE CHARCTERS AND C REPLACE NASTY ONES WITH "$" C CHAR = 0 C IF(NCHRFX .GT. 8)NCHRFX = 8 C NCRFX1 = NCHRFX + 1 C DO 1000 J = 1,NCHRFX C I = NCRFX1 - J C IF((INNAM(I) .EQ. BLANK) .AND. (CHAR .EQ. 0))GO TO 300 C IF(((INNAM(I) .GE. BIGA) .AND. (INNAM(I) .LE. BIGZ)) .OR. > ((INNAM(I) .GE. DIG0) .AND. (INNAM(I) .LE. DIG9)) .OR. > (INNAM(I) .EQ. COLON) .OR. > (INNAM(I) .EQ. PERIOD) .OR. > (INNAM(I) .EQ. DOLLAR))GO TO 200 C OUTNAM(I) = DOLLAR IND = IND + 1 CHAR = 1 C GO TO 1000 C 200 CONTINUE C OUTNAM(I) = INNAM(I) CHAR = 1 GO TO 1000 C 300 CONTINUE C OUTNAM(I) = INNAM(I) C 1000 CONTINUE C 1100 CONTINUE C RETURN END