va_end(ap);
Trace(char *fmt, ...)#elseTrace(va_alist)va_dcl#endif{#if	!ANSI_VARARGS	register char *fmt;#endif	static	FILE	*fp;	va_list ap;	if (!fp) {		char name[BUFSIZ];		sprintf(name, "Trace-%s.out", trace_who);		fp = fopen(name, "w");		if (fp != 0) {#if HAVE_UNISTD_H			time_t now;			fprintf(fp, "process %d real (%d/%d) effective (%d/%d) -- %s",				getpid(),				getuid(), getgid(),				geteuid(), getegid(),				ctime(&now));#else			time_t now;			fprintf(fp, "process %d -- %s",				getpid(),				ctime(&now));#endif		}	}	if (!fp)		abort();#if	ANSI_VARARGS	va_start(ap,fmt);#else	va_start(ap);	fmt = va_arg(ap, char *);#endif	if (fmt != 0) {		vfprintf(fp, fmt, ap);		va_end(ap);		(void)fflush(fp);	} else {		(void)fclose(fp);		(void)fflush(stdout);		(void)fflush(stderr);	}}