INTEGER FUNCTION DGETCH (XCHAR,CH) 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: Get a character from the disk file C C MODIFICATION HISTORY C C BY DATE REASON PROGRAMS AFFECTED C C C **************************************************************** C C Author: BOB BORGESON Version: A.0 Date: Oct-86 C C Calling Parameters: C C W XCHAR - THE CHARACTER YOU GOT C R CH - THE CHANNEL TO READ ON C C **************************************************************** C C Messages generated by this module : None C C **************************************************************** C C Subroutines called directly : DGETLIN C C **************************************************************** C C Files referenced : None C C **************************************************************** C C Local variable definitions : C C **************************************************************** C C Commons referenced : XBYTE and KER local commons 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*2 (A-Z) 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 * C O M M O N S T A T E M E N T S * C * * C **************************************************************** C COMMON /XBYTE/ XNEW,XCOUNT,XLIN(132),XEOF 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 IF(XEOF.NE.YES)GO TO 100 DGETCH=EOF RETURN 100 CONTINUE IF(XNEW.NE.YES)GO TO 1000 X=DGETLIN(XLIN,CH) IF(X.NE.EOF)GO TO 800 DGETCH=EOF XEOF=YES RETURN 800 CONTINUE IF(XLIN(1).NE.LF)GO TO 900 XNEW=YES DGETCH=OK XCHAR=LF RETURN 900 CONTINUE XNEW=NO DGETCH=OK XCHAR=XLIN(1) XCOUNT=2 RETURN 1000 CONTINUE IF(XLIN(XCOUNT).NE.LF)GO TO 1100 XNEW=YES DGETCH=OK XCHAR=LF RETURN 1100 CONTINUE DGETCH=OK XCHAR=XLIN(XCOUNT) XCOUNT=XCOUNT+1 RETURN END