extern char *cmdname, *curfname; static int been_here = 0; va_list varg;  if (been_here++ > 2) return; fprintf(stderr, "%s: ", cmdname); va_start(varg, fmt); vfprintf(stderr, fmt, varg); va_end(varg); fprintf(stderr, " at source line %d", lineno); if (curfname != NULL) fprintf(stderr, " in function %s", curfname); if (compile_time == 1 && cursource() != NULL) fprintf(stderr, " source file %s", cursource()); fprintf(stderr, "\n"); errorflag = 2; eprint();
SYNTAX("%s", s);
void SYNTAX(const char *fmt, ...){	extern char *cmdname, *curfname;	static int been_here = 0;	va_list varg;	if (been_here++ > 2)		return;	fprintf(stderr, "%s: ", cmdname);	va_start(varg, fmt);	vfprintf(stderr, fmt, varg);	va_end(varg);	fprintf(stderr, " at source line %d", lineno);	if (curfname != NULL)		fprintf(stderr, " in function %s", curfname);	if (compile_time == 1 && cursource() != NULL)		fprintf(stderr, " source file %s", cursource());	fprintf(stderr, "\n");	errorflag = 2;	eprint();}