1: #include <X/mit-copyright.h>
   2: 
   3: /* Copyright    Massachusetts Institute of Technology    1984, 1985	*/
   4: 
   5: /* buf.c */
   6: 
   7: #ifndef lint
   8: static char *rcsid_buf_c = "$Header: buf.c,v 10.8 86/02/01 16:05:37 tony Rel $";
   9: #endif	lint
  10: 
  11: #include <stdio.h>
  12: #include <errno.h>
  13: #include <X/Xlib.h>
  14: #include "ptyx.h"
  15: #include <ctype.h>
  16: 
  17: extern int errno;
  18: extern int am_slave;
  19: 
  20: /*
  21:  * If no input available, returns -1. Else, reads characters from
  22:  * trmbuf->fildes and puts them in the buffer, then returns first
  23:  * character read.
  24:  */
  25: fill(trmbuf)
  26: register Buffer *trmbuf;
  27: {
  28: #ifdef JUMPSCROLL
  29:     extern Terminal term;
  30:     register Screen *screen = &term.screen;
  31: 
  32:     if (screen->scroll_amt)
  33:         FlushScroll(screen);
  34: #endif JUMPSCROLL
  35:     trmbuf->ptr = &trmbuf->buf[0];
  36:     trmbuf->cnt = read(trmbuf->fildes, trmbuf->ptr, BUF_SIZE);
  37: 
  38:     if (trmbuf->cnt == -1) {
  39:         if (errno != EWOULDBLOCK) {
  40:             if (errno == EIO && am_slave) exit(0);  /* pty closed */
  41:             else Panic("fill: read returned unexpected error (%d)\n",
  42:                 errno);
  43:         }
  44:         return(-1);
  45:     }
  46: 
  47:     if (--trmbuf->cnt < 0)
  48:         Panic("fill: read returned %d\n", trmbuf->cnt+1);
  49:     return(*trmbuf->ptr++ & 0177);
  50: }

Defined functions

fill defined in line 25; used 1 times

Defined variables

rcsid_buf_c defined in line 8; never used
Last modified: 1986-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 912
Valid CSS Valid XHTML 1.0 Strict