#import "NXmystd.h"
#import <appkit/appkit.h>
#import <stdio.h>
#import <stdlib.h>
#import <stdarg.h>
#import <string.h>

static NXLock *printLock = nil;;

void logf2(char *file,int line,const char *method,char *fmt,...)
{
	va_list va;
	
	if (!printLock)
		printLock = [[NXLock alloc] init];
	[printLock lock];
	va_start (va, format);
	fprintf (stderr, "%s: %s:%d[%s]:\t", [NXApp appName],file,line,method);
	vfprintf (stderr, fmt, va);
	va_end (va);
	if ( fmt[strlen(fmt)-1] != '\n') fprintf(stderr,"\n");
	fflush(stderr);
	[printLock unlock];
}
void logf(char *fmt,...)
{
	va_list va;
	
	if (!printLock)
		printLock = [[NXLock alloc] init];
	[printLock lock];
	va_start (va, format);
	vfprintf (stderr, fmt, va);
	va_end (va);
	if ( fmt[strlen(fmt)-1] != '\n') fprintf(stderr,"\n");
	fflush(stderr);
	[printLock unlock];
}
void exitf(char *fmt,...)
{
	va_list va;
	
	if (!printLock)
		printLock = [[NXLock alloc] init];
	[printLock lock];
	va_start (va, format);
	vfprintf (stderr, fmt, va);
	va_end (va);
	if ( fmt[strlen(fmt)-1] != '\n') fprintf(stderr,"\n");
	fflush(stderr);
	[printLock unlock];
	exit(100);
}
void dummy(char *fmt,...)
{
	;
}
