void LogRing::internalLog(int prio, const char* tag, const char* fmt, va_list argp) { if (NULL != mRingBuffer) { Mutex::Autolock lock(&mLock); String8 s(String8::formatV(fmt, argp)); Entry* last = NULL; if (mIsFull || mWr) last = &(mRingBuffer[(mWr + mSize - 1) % mSize]); if ((NULL != last) && !last->s.compare(s)) { gettimeofday(&(last->last_ts), NULL); ++last->count; } else { gettimeofday(&mRingBuffer[mWr].first_ts, NULL); mRingBuffer[mWr].last_ts = mRingBuffer[mWr].first_ts; mRingBuffer[mWr].count = 1; mRingBuffer[mWr].s.setTo(s); mWr = (mWr + 1) % mSize; if (!mWr) mIsFull = true; } } if (NULL != tag) LOG_PRI_VA(prio, tag, fmt, argp); }
static int log_callback(int type, const char *fmt, ...) { va_list ap; va_start(ap, fmt); LOG_PRI_VA(ANDROID_LOG_ERROR, "SELinux", fmt, ap); va_end(ap); return 0; }
void OS::VPrintError(const char* format, va_list args) { #if defined(ANDROID) LOG_PRI_VA(ANDROID_LOG_ERROR, LOG_TAG, format, args); #else vfprintf(stderr, format, args); #endif }
void OS::VPrint(const char* format, va_list args) { #if defined(ANDROID) LOG_PRI_VA(ANDROID_LOG_INFO, LOG_TAG, format, args); #else vprintf(format, args); #endif }
/* See helper.h for docs. */ char *failure(const char *format, ...) { va_list args; char *result; va_start(args, format); LOG_PRI_VA(ANDROID_LOG_ERROR, LOG_TAG, format, args); va_end(args); va_start(args, format); int count = vasprintf(&result, format, args); va_end(args); if (count < 0) { return NULL; } return result; }
static int log_callback(int type, const char *fmt, ...) { va_list ap; int priority; switch (type) { case SELINUX_WARNING: priority = ANDROID_LOG_WARN; break; case SELINUX_INFO: priority = ANDROID_LOG_INFO; break; default: priority = ANDROID_LOG_ERROR; break; } va_start(ap, fmt); LOG_PRI_VA(priority, "SELinux", fmt, ap); va_end(ap); return 0; }
/* * Output a code verifier warning message. For the pre-verifier it's not * a big deal if something fails (and it may even be expected), but if * we're doing just-in-time verification it's significant. */ void dvmLogVerifyFailure(const Method *meth, const char *format, ...) { va_list ap; int logLevel; if (gDvm.optimizing) { return; //logLevel = ANDROID_LOG_DEBUG; } else { logLevel = ANDROID_LOG_WARN; } va_start(ap, format); LOG_PRI_VA(logLevel, LOG_TAG, format, ap); if (meth != NULL) { char *desc = dexProtoCopyMethodDescriptor(&meth->prototype); LOG_PRI(logLevel, LOG_TAG, "VFY: rejected %s.%s %s", meth->clazz->descriptor, meth->name, desc); free(desc); } }
scrolly = 0; for (i = 0; i < 256; i++) m_bg1_tilemap->set_scrollx((i + scrolly) & 0x1ff, m_rasterram[i] - 8); // m_bg1_tilemap->set_scrolly(0, m_bg1scrolly); m_bg2_tilemap->set_scrollx(0, m_bg2scrollx - 4); // m_bg2_tilemap->set_scrolly(0, m_bg2scrolly); screen.priority().fill(0, cliprect); m_bg1_tilemap->draw(screen, bitmap, cliprect, 0, 0); m_bg2_tilemap->draw(screen, bitmap, cliprect, 0, 1); /* we use the priority buffer so sprites are drawn front to back */ m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, machine(), bitmap, cliprect, screen.priority(), 1); m_spr_old->turbofrc_draw_sprites(m_spriteram3+0x000,m_spriteram3.bytes()/2,m_spritepalettebank, machine(), bitmap, cliprect, screen.priority(), 0); m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, machine(), bitmap, cliprect, screen.priority(), 1); m_spr_old2->turbofrc_draw_sprites(m_spriteram3+0x200,m_spriteram3.bytes()/2,m_spritepalettebank, machine(), bitmap, cliprect, screen.priority(), 0); return 0; }
/* * Print a debug message, to either a file or the log. */ void dvmPrintDebugMessage(const DebugOutputTarget* target, const char* format, ...) { va_list args; va_start(args, format); switch (target->which) { case kDebugTargetLog: LOG_PRI_VA(target->data.log.priority, target->data.log.tag, format, args); break; case kDebugTargetFile: vfprintf(target->data.file.fp, format, args); break; default: ALOGE("unexpected 'which' %d", target->which); break; } va_end(args); }
/* * The VM calls this through the "vfprintf" hook. * * We ignore "fp" and just write the results to the log file. */ static void runtime_vfprintf(FILE* fp, const char* format, va_list ap) { LOG_PRI_VA(ANDROID_LOG_INFO, "vm-printf", format, ap); }
static void vinfo(const char *fmt, va_list ap) { LOG_PRI_VA(ANDROID_LOG_INFO, LOG_TAG, fmt, ap); }
static void verror(const char *fmt, va_list ap) { LOG_PRI_VA(ANDROID_LOG_ERROR, LOG_TAG, fmt, ap); }
static void vdebug(const char *fmt, va_list ap) { LOG_PRI_VA(ANDROID_LOG_DEBUG, LOG_TAG, fmt, ap); }
void anp_logPlugin(const char format[], ...) { va_list args; va_start(args, format); LOG_PRI_VA(ANDROID_LOG_DEBUG, "webkit_plugin", format, args); va_end(args); }