/** * Basic output function for all log messages. */ static void aim_log_output__(aim_log_t* l, const char* fname, const char* file, int line, const char* fmt, va_list vargs) { aim_pvs_t* msg; char* pmsg; msg = aim_pvs_buffer_create(); if(AIM_BIT_GET(l->options, AIM_LOG_OPTION_TIMESTAMP)) { aim_log_time__(msg); } aim_vprintf(msg, fmt, vargs); if(l->options & (1 << AIM_LOG_OPTION_FUNC)) { aim_printf(msg, " [%s]", fname); } if(l->options & (1 << AIM_LOG_OPTION_FILE_LINE)) { aim_printf(msg, " [%s:%d]", file, line); } aim_printf(msg, "\n"); pmsg = aim_pvs_buffer_get(msg); aim_printf(l->pvs, "%s", pmsg); aim_free(pmsg); aim_pvs_destroy(msg); }
int ucli_vprintf(ucli_context_t* uc, const char* fmt, va_list _vargs) { return aim_vprintf(uc->epvs, fmt, _vargs); }