Diff for /gforth/Attic/io.c between versions 1.7 and 1.9

version 1.7, 1995/01/18 18:41:38 version 1.9, 1995/09/06 21:00:19
Line 3 Line 3
         The following is stolen from the readline library for bash          The following is stolen from the readline library for bash
 */  */
   
 /* Use -DDOMAINOS for Apollo Domain-OS.  /*
    Use -D_POSIX_VERSION for POSIX systems.     Use -D_POSIX_VERSION for POSIX systems.
 */  */
   
 #include <unistd.h>  #include <unistd.h>
   
 #ifdef DOMAINOS  #ifdef apollo
 #define _POSIX_VERSION  #define _POSIX_VERSION
 #endif  #endif
   
 #include <stdio.h>  #include <stdio.h>
 #include <signal.h>  #include <signal.h>
 #include <sys/types.h>  #include <sys/types.h>
 #ifndef DOMAINOS  #ifndef apollo
 #include <sys/ioctl.h>  #include <sys/ioctl.h>
 #endif  #endif
 #include <fcntl.h>  #include <fcntl.h>
Line 36 Line 36
 #define NEW_TTY_DRIVER  #define NEW_TTY_DRIVER
 #define HAVE_BSD_SIGNALS  #define HAVE_BSD_SIGNALS
 /*  /*
 #ifndef DOMAINOS  #ifndef apollo
 #define USE_XON_XOFF  #define USE_XON_XOFF
 #endif  #endif
 */  */
Line 106  extern int errno; Line 106  extern int errno;
 #  endif /* USGr3 */  #  endif /* USGr3 */
 #endif /* USG && hpux */  #endif /* USG && hpux */
   
 #if (defined (_POSIX_VERSION) || defined (USGr3)) && !defined(DOMAINOS)  #if (defined (_POSIX_VERSION) || defined (USGr3)) && !defined(apollo)
 #  include <dirent.h>  #  include <dirent.h>
 #  define direct dirent  #  define direct dirent
 #  if defined (_POSIX_VERSION)  #  if defined (_POSIX_VERSION)
Line 570  long key_avail (stream) Line 570  long key_avail (stream)
   long chars_avail = pending;    long chars_avail = pending;
   int result;    int result;
   
     if(!terminal_prepped)  prep_terminal();
   
 #if defined (FIONREAD)  #if defined (FIONREAD)
   result = ioctl (tty, FIONREAD, &chars_avail);    result = ioctl (tty, FIONREAD, &chars_avail);
 #endif  #endif
Line 605  unsigned char getkey(stream) Line 607  unsigned char getkey(stream)
   int result;    int result;
   unsigned char c;    unsigned char c;
   
     if(!terminal_prepped)  prep_terminal();
   
   while (pending < 0)    while (pending < 0)
     {      {
       result = read (fileno (stream), &c, sizeof (char));        result = read (fileno (stream), &c, sizeof (char));
Line 615  unsigned char getkey(stream) Line 619  unsigned char getkey(stream)
       /* If zero characters are returned, then the file that we are        /* If zero characters are returned, then the file that we are
          reading from is empty!  Return EOF in that case. */           reading from is empty!  Return EOF in that case. */
       if (result == 0)        if (result == 0)
         return (0);          return CTRL('D');
   
       /* If the error that we received was SIGINT, then try again,        /* If the error that we received was SIGINT, then try again,
          this is simply an interrupted system call to read ().           this is simply an interrupted system call to read ().
Line 745  signal_throw(int sig) Line 749  signal_throw(int sig)
 static void  static void
 termprep (int sig)  termprep (int sig)
 {  {
   terminal_prepped=0; prep_terminal();    terminal_prepped=0;
   signal(sig,termprep);    signal(sig,termprep);
 }  }
   

Removed from v.1.7  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>