*buf++ = c = '\033';
*buf++ = c = ESC("")[0];
readstring(register FILE *fp, register char *buf, char *str){	register int last, c;#if !defined(USG) && !defined(AMOEBA) && !defined(MINIX) && !defined(__EMX__)	/* What is the advantage of setitimer() over alarm()? */	struct itimerval it;#endif	signal(SIGALRM, resize_timeout);#if defined(USG) || defined(AMOEBA) || defined(MINIX) || defined(__EMX__)	alarm (TIMEOUT);#else	bzero((char *)&it, sizeof(struct itimerval));	it.it_value.tv_sec = TIMEOUT;	setitimer(ITIMER_REAL, &it, (struct itimerval *)NULL);#endif	if ((c = getc(fp)) == 0233) {	/* meta-escape, CSI */		*buf++ = c = '\033';		*buf++ = '[';	} else		*buf++ = c;	if(c != *str) {		fprintf(stderr, "%s: unknown character, exiting.\r\n", myname);		onintr(0);	}	last = str[strlen(str) - 1];	while((*buf++ = getc(fp)) != last)	    ;#if defined(USG) || defined(AMOEBA) || defined(MINIX) || defined(__EMX__)	alarm (0);#else	bzero((char *)&it, sizeof(struct itimerval));	setitimer(ITIMER_REAL, &it, (struct itimerval *)NULL);#endif	*buf = 0;}