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 }
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(); } }
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(); }