int liblinphone_tester_fprintf(FILE * stream, const char * format, ...) { int result; va_list args; va_start(args, format); #ifndef ANDROID result = vfprintf(stream,format,args); #else /*used by liblinphone tester to retrieve suite list*/ result = 0; cunit_android_trace_handler(stream, format, args); #endif va_end(args); return result; }
static void log_handler(int lev, const char *fmt, va_list args) { #ifdef _WIN32 vfprintf(lev == ORTP_ERROR ? stderr : stdout, fmt, args); fprintf(lev == ORTP_ERROR ? stderr : stdout, "\n"); #else va_list cap; va_copy(cap,args); #ifdef ANDROID /* IMPORTANT: needed by liblinphone tester to retrieve suite list...*/ cunit_android_trace_handler(lev == ORTP_ERROR, fmt, cap); #else /* Otherwise, we must use stdio to avoid log formatting (for autocompletion etc.) */ vfprintf(lev == ORTP_ERROR ? stderr : stdout, fmt, cap); fprintf(lev == ORTP_ERROR ? stderr : stdout, "\n"); #endif va_end(cap); #endif if (log_file){ ortp_logv_out(lev, fmt, args); } }