      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
