fputs((char *)buf, stdout);
fwrite(buf, len, 1, stdout);
Cell *awkprintf(Node **a, int n)		/* printf */{	/* a[0] is list of args, starting with format string */	/* a[1] is redirection operator, a[2] is redirection file */	FILE *fp;	Cell *x;	Node *y;	char buf[3*RECSIZE];	y = a[0]->nnext;	x = execute(a[0]);	if (format(buf, sizeof buf, getsval(x), y) == -1)		ERROR "printf string %.30s... too long", buf FATAL;	tempfree(x);	if (a[1] == NULL) {		fputs((char *)buf, stdout);		if (ferror(stdout))			ERROR "write error on stdout" FATAL;	} else {		fp = redirect((int)a[1], a[2]);		fputs((char *)buf, fp);		fflush(fp);		if (ferror(fp))			ERROR "write error on %s", filename(fp) FATAL;	}	return(true);}