V7M/src/cmd/prep/prep2.c

Compare this file to the similar file:
Show the results in this format:

int	optr;

char	obuf[512];

int	nflush;

put(string,n)
	char	*string;
{
	int	i;
	char	*o;

/*printf("%c %d\n",*string,n);/*DEBUG*/

	string--;

	if((i = optr + n - 512) >= 0) {
		n -= i;
		o = &obuf[optr] -1;
		while(--n >= 0)
			*++o = *++string;
		optr = 512;
		flsh();
		n = i;
	}

	o = &obuf[optr] - 1;
	optr += n;

	while(--n >= 0) {
		*++o = *++string;
	}
	return(0);
}

flsh()
{

	if(optr <= 0)	return(optr);

	nflush++;
	if(write(1,obuf,optr) != optr)
		return(-1);
	optr = 0;
	return(0);
}