void WTFReportError(const char* file, int line, const char* function, const char* format, ...) { printf_stderr_common("ERROR: "); va_list args; va_start(args, format); vprintf_stderr_common(format, args); va_end(args); printf_stderr_common("\n"); printCallSite(file, line, function); }
void WTFReportAssertionFailureWithMessage(const char* file, int line, const char* function, const char* assertion, const char* format, ...) { printf_stderr_common("ASSERTION FAILED: "); va_list args; va_start(args, format); vprintf_stderr_common(format, args); va_end(args); printf_stderr_common("\n%s\n", assertion); printCallSite(file, line, function); }
static void vprintf_stderr_with_prefix(const char* prefix, const char* format, va_list args) { size_t prefixLength = strlen(prefix); size_t formatLength = strlen(format); OwnPtr<char[]> formatWithPrefix = adoptArrayPtr(new char[prefixLength + formatLength + 1]); memcpy(formatWithPrefix.get(), prefix, prefixLength); memcpy(formatWithPrefix.get() + prefixLength, format, formatLength); formatWithPrefix[prefixLength + formatLength] = 0; vprintf_stderr_common(formatWithPrefix.get(), args); }
static void vprintf_stderr_with_prefix(const char* prefix, const char* format, va_list args) { size_t prefixLength = strlen(prefix); size_t formatLength = strlen(format); auto formatWithPrefix = std::make_unique<char[]>(prefixLength + formatLength + 1); memcpy(formatWithPrefix.get(), prefix, prefixLength); memcpy(formatWithPrefix.get() + prefixLength, format, formatLength); formatWithPrefix[prefixLength + formatLength] = 0; vprintf_stderr_common(formatWithPrefix.get(), args); }
void WTFLog(WTFLogChannel* channel, const char* format, ...) { if (channel->state != WTFLogChannelOn) return; va_list args; va_start(args, format); vprintf_stderr_common(format, args); va_end(args); if (format[strlen(format) - 1] != '\n') printf_stderr_common("\n"); }
void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChannel* channel, const char* format, ...) { if (channel->state != WTFLogChannelOn) return; va_list args; va_start(args, format); vprintf_stderr_common(format, args); va_end(args); if (format[strlen(format) - 1] != '\n') printf_stderr_common("\n"); printCallSite(file, line, function); }
void WTFLog(WTFLogChannel* channel, const char* format, ...) { if (channel->state != WTFLogChannelOn) return; va_list args; va_start(args, format); vprintf_stderr_common(false, format, args); va_end(args); size_t formatLength = strlen(format); if (formatLength && format[formatLength - 1] != '\n') printf_stderr_common(false, "\n"); }
static void printf_stderr_common(const char* format, ...) { va_list args; va_start(args, format); vprintf_stderr_common(format, args); va_end(args); }