Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM 68K/1.0X SOURCES/v101/vms/getchar.c
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

32 lines
457 B
C

#define BLEN 512
struct iob {
int fd; /*file descriptor*/
int cc; /*char count*/
char *cp; /*ptr to next char*/
char cbuf[BLEN]; /*char buffer*/
} fin;
getchar()
{
char c;
register int i;
if(fin.fd==0) {
if(read(0,&c,1)<=0 || c==4)
return(0);
i = c;
return(i&0xff);
}
if(fin.cc<=0) {
fin.cp = &(fin.cbuf[0]);
fin.cc = read(fin.fd,fin.cp,BLEN);
}
if(fin.cc <= 0) {
return(0);
}
fin.cc--;
i = *(fin.cp)++;
return(i&0xff);
}