Esempio n. 1
0
void suppl_log_log_vitem(suppl_log_csptr_t fmt, va_list ap)
{
	assert(fmt);
	if(suppl_l_logfile && suppl_log_lock()) {
		suppl_log_unlock();
		vfprintf(suppl_l_logfile, fmt, ap);
		chkHeap
	}
Esempio n. 2
0
void suppl_log_log_trailer(void)
{
	assert(suppl_Stack);

	if(suppl_l_logfile && suppl_log_lock()) {
		putc('\n', suppl_l_logfile);
#ifdef DBG_ALWAYS_CLOSELOG
		/* FreeDOS does not support commit file */
		/* DBG_FLUSHLOG */
		DBG_CLOSELOG
#else
#ifdef DBG_ALWAYS_FLUSH_LOG
		fcommit(suppl_l_logfile);		/* make sure the entry is on disk */
#endif
#endif
		++suppl_l_count;
		chkHeap
		suppl_log_unlock();
	}
}
Esempio n. 3
0
void suppl_log_pop(void)
{	
	if(suppl_log_lock()) {
		if(suppl_Stack && S(nxt)) {
			/* OK more than one entry */
			suppl_log_stack_t *p;

			chkHeap
			if(S(ownClasses))
				suppl_log_del_list(S(classes));
			if(S(ownFunctions))
				suppl_log_del_list(S(functions));
			if(S(ownFiles))
				suppl_log_del_list(S(files));

			chkHeap
			p = suppl_Stack;
			suppl_Stack = S(nxt);
			free(p);
			chkHeap
		}
		suppl_log_unlock();
	}