mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 16:34:07 +00:00
32 lines
457 B
C
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);
|
|
}
|