int format_log(int prio, const char *tag, const char *format, ...) { int ret; va_list args; va_start(args, format); ret = __libc_android_log_vprint(prio, tag, format, args); va_end(args); return ret; }
static void log_message(const char* format, ...) { extern pthread_mutex_t gAllocationsMutex; extern const MallocDebug __libc_malloc_default_dispatch; extern const MallocDebug* __libc_malloc_dispatch; va_list args; pthread_mutex_lock(&gAllocationsMutex); { const MallocDebug* current_dispatch = __libc_malloc_dispatch; __libc_malloc_dispatch = &__libc_malloc_default_dispatch; va_start(args, format); __libc_android_log_vprint(ANDROID_LOG_ERROR, "libc", format, args); va_end(args); __libc_malloc_dispatch = current_dispatch; } pthread_mutex_unlock(&gAllocationsMutex); }