void ortp_logv(int level, const char *fmt, va_list args) { if (ortp_logv_out!=NULL && ortp_log_level_enabled(level)) ortp_logv_out(level,fmt,args); #if !defined(_WIN32_WCE) if ((level)==ORTP_FATAL) abort(); #endif }
void ortp_logv(int level, const char *fmt, va_list args) { if ((ortp_logv_out != NULL) && ortp_log_level_enabled(level)) { if (__log_thread_id == 0) { ortp_logv_out(level, fmt, args); } else if (__log_thread_id == ortp_thread_self()) { ortp_logv_flush(); ortp_logv_out(level, fmt, args); } else { ortp_stored_log_t *l = ortp_new(ortp_stored_log_t, 1); l->level = level; l->msg = ortp_strdup_vprintf(fmt, args); ortp_mutex_lock(&__log_stored_messages_mutex); __log_stored_messages_list = o_list_append(__log_stored_messages_list, l); ortp_mutex_unlock(&__log_stored_messages_mutex); } } #if !defined(_WIN32_WCE) if (level == ORTP_FATAL) abort(); #endif }
void _belle_sip_log(belle_sip_log_level lev, const char *fmt, va_list args) { int ortp_level; switch(lev) { case BELLE_SIP_LOG_FATAL: ortp_level=ORTP_FATAL; break; case BELLE_SIP_LOG_ERROR: ortp_level=ORTP_ERROR; break; case BELLE_SIP_LOG_WARNING: ortp_level=ORTP_WARNING; break; case BELLE_SIP_LOG_MESSAGE: ortp_level=ORTP_MESSAGE; break; case BELLE_SIP_LOG_DEBUG: default: ortp_level=ORTP_DEBUG; break; } if (ortp_log_level_enabled(ortp_level)){ ortp_logv(ortp_level,fmt,args); } }