/* * ======== write8 ========= */ Void LoggerSys_write8(LoggerSys_Object *obj, Log_Event evt, Types_ModuleId mid, IArg a1, IArg a2, IArg a3, IArg a4, IArg a5, IArg a6, IArg a7, IArg a8) { Log_EventRec evrec; if (!obj->enabled) { return; } LoggerSys_TimestampProxy_get64(&evrec.tstamp); evrec.serial = 0; evrec.evt = Types_makeEvent(Log_getEventId(evt), mid); evrec.arg[0] = a1; evrec.arg[1] = a2; evrec.arg[2] = a3; evrec.arg[3] = a4; evrec.arg[4] = a5; evrec.arg[5] = a6; evrec.arg[6] = a7; evrec.arg[7] = a8; Log_doPrint(&evrec); }
/* * ======== LoggerBuf_flush ======== */ Void LoggerBuf_flush(LoggerBuf_Object *obj) { Int nEntries; Log_EventRec evtRec; /* 'counter' is the maximum number of entries we want to print. Otherwise, * we could end up in an infinite loop if events are being generated * faster than they are being printed. */ Int counter = obj->numEntries; for (;;) { nEntries = LoggerBuf_getNextEntry(obj, &evtRec); if (counter == 0 || nEntries == 0) { break; } else { if (nEntries != -1) { Log_doPrint(&evtRec); counter--; } } } }