Index: base/logging.cc |
diff --git a/base/logging.cc b/base/logging.cc |
index c7a8881456d13559484dca912b5addfe219c342c..56d421120dc966ded761d4ed26bdc37e8ecfc483 100644 |
--- a/base/logging.cc |
+++ b/base/logging.cc |
@@ -70,8 +70,8 @@ namespace logging { |
namespace { |
-VlogInfo* g_vlog_info = NULL; |
-VlogInfo* g_vlog_info_prev = NULL; |
+VlogInfo* g_vlog_info = nullptr; |
+VlogInfo* g_vlog_info_prev = nullptr; |
const char* const log_severity_names[LOG_NUM_SEVERITIES] = { |
"INFO", "WARNING", "ERROR", "FATAL" }; |
@@ -82,9 +82,9 @@ const char* log_severity_name(int severity) { |
return "UNKNOWN"; |
} |
-int min_log_level = 0; |
+int g_min_log_level = 0; |
-LoggingDestination logging_destination = LOG_DEFAULT; |
+LoggingDestination g_logging_destination = LOG_DEFAULT; |
// For LOG_ERROR and above, always print to stderr. |
const int kAlwaysPrintErrorLevel = LOG_ERROR; |
@@ -97,25 +97,25 @@ typedef std::wstring PathString; |
#else |
typedef std::string PathString; |
#endif |
-PathString* log_file_name = NULL; |
+PathString* g_log_file_name = nullptr; |
-// this file is lazily opened and the handle may be NULL |
-FileHandle log_file = NULL; |
+// This file is lazily opened and the handle may be nullptr |
+FileHandle g_log_file = nullptr; |
-// what should be prepended to each message? |
-bool log_process_id = false; |
-bool log_thread_id = false; |
-bool log_timestamp = true; |
-bool log_tickcount = false; |
+// What should be prepended to each message? |
+bool g_log_process_id = false; |
+bool g_log_thread_id = false; |
+bool g_log_timestamp = true; |
+bool g_log_tickcount = false; |
// Should we pop up fatal debug messages in a dialog? |
bool show_error_dialogs = false; |
// An assert handler override specified by the client to be called instead of |
// the debug message dialog and process termination. |
-LogAssertHandlerFunction log_assert_handler = NULL; |
+LogAssertHandlerFunction log_assert_handler = nullptr; |
// A log message handler that gets notified of every log message we process. |
-LogMessageHandlerFunction log_message_handler = NULL; |
+LogMessageHandlerFunction log_message_handler = nullptr; |
// Helper functions to wrap platform differences. |
@@ -162,7 +162,7 @@ PathString GetDefaultLogFile() { |
#if defined(OS_WIN) |
// On Windows we use the same path as the exe. |
wchar_t module_name[MAX_PATH]; |
- GetModuleFileName(NULL, module_name, MAX_PATH); |
+ GetModuleFileName(nullptr, module_name, MAX_PATH); |
PathString log_name = module_name; |
PathString::size_type last_backslash = log_name.rfind('\\', log_name.size()); |
@@ -208,9 +208,9 @@ class LoggingLock { |
std::replace(safe_name.begin(), safe_name.end(), '\\', '/'); |
std::wstring t(L"Global\\"); |
t.append(safe_name); |
- log_mutex = ::CreateMutex(NULL, FALSE, t.c_str()); |
+ log_mutex = ::CreateMutex(nullptr, FALSE, t.c_str()); |
- if (log_mutex == NULL) { |
+ if (log_mutex == nullptr) { |
#if DEBUG |
// Keep the error code for debugging |
int error = GetLastError(); // NOLINT |
@@ -278,49 +278,49 @@ class LoggingLock { |
// static |
bool LoggingLock::initialized = false; |
// static |
-base::internal::LockImpl* LoggingLock::log_lock = NULL; |
+base::internal::LockImpl* LoggingLock::log_lock = nullptr; |
// static |
LogLockingState LoggingLock::lock_log_file = LOCK_LOG_FILE; |
#if defined(OS_WIN) |
// static |
-MutexHandle LoggingLock::log_mutex = NULL; |
+MutexHandle LoggingLock::log_mutex = nullptr; |
#elif defined(OS_POSIX) |
pthread_mutex_t LoggingLock::log_mutex = PTHREAD_MUTEX_INITIALIZER; |
#endif |
-// Called by logging functions to ensure that debug_file is initialized |
+// Called by logging functions to ensure that |g_log_file| is initialized |
// and can be used for writing. Returns false if the file could not be |
-// initialized. debug_file will be NULL in this case. |
+// initialized. |g_log_file| will be nullptr in this case. |
bool InitializeLogFileHandle() { |
- if (log_file) |
+ if (g_log_file) |
return true; |
- if (!log_file_name) { |
+ if (!g_log_file_name) { |
// Nobody has called InitLogging to specify a debug log file, so here we |
// initialize the log file name to a default. |
- log_file_name = new PathString(GetDefaultLogFile()); |
+ g_log_file_name = new PathString(GetDefaultLogFile()); |
} |
- if ((logging_destination & LOG_TO_FILE) != 0) { |
+ if ((g_logging_destination & LOG_TO_FILE) != 0) { |
#if defined(OS_WIN) |
- log_file = CreateFile(log_file_name->c_str(), GENERIC_WRITE, |
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, |
- OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); |
- if (log_file == INVALID_HANDLE_VALUE || log_file == NULL) { |
+ g_log_file = CreateFile(g_log_file_name->c_str(), GENERIC_WRITE, |
+ FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, |
+ OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); |
+ if (g_log_file == INVALID_HANDLE_VALUE || g_log_file == nullptr) { |
// try the current directory |
- log_file = CreateFile(L".\\debug.log", GENERIC_WRITE, |
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, |
- OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); |
- if (log_file == INVALID_HANDLE_VALUE || log_file == NULL) { |
- log_file = NULL; |
+ g_log_file = CreateFile(L".\\debug.log", GENERIC_WRITE, |
+ FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, |
+ OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); |
+ if (g_log_file == INVALID_HANDLE_VALUE || g_log_file == nullptr) { |
+ g_log_file = nullptr; |
return false; |
} |
} |
- SetFilePointer(log_file, 0, 0, FILE_END); |
+ SetFilePointer(g_log_file, 0, 0, FILE_END); |
#elif defined(OS_POSIX) |
- log_file = fopen(log_file_name->c_str(), "a"); |
- if (log_file == NULL) |
+ g_log_file = fopen(g_log_file_name->c_str(), "a"); |
+ if (g_log_file == nullptr) |
return false; |
#endif |
} |
@@ -337,18 +337,18 @@ void CloseFile(FileHandle log) { |
} |
void CloseLogFileUnlocked() { |
- if (!log_file) |
+ if (!g_log_file) |
return; |
- CloseFile(log_file); |
- log_file = NULL; |
+ CloseFile(g_log_file); |
+ g_log_file = nullptr; |
} |
} // namespace |
LoggingSettings::LoggingSettings() |
: logging_dest(LOG_DEFAULT), |
- log_file(NULL), |
+ log_file(nullptr), |
lock_log(LOCK_LOG_FILE), |
delete_old(APPEND_TO_OLD_LOG_FILE) {} |
@@ -358,11 +358,11 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) { |
CHECK_EQ(settings.logging_dest & ~LOG_TO_SYSTEM_DEBUG_LOG, 0); |
#endif |
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
- // Don't bother initializing g_vlog_info unless we use one of the |
+ // Don't bother initializing |g_vlog_info| unless we use one of the |
// vlog switches. |
if (command_line->HasSwitch(switches::kV) || |
command_line->HasSwitch(switches::kVModule)) { |
- // NOTE: If g_vlog_info has already been initialized, it might be in use |
+ // NOTE: If |g_vlog_info| has already been initialized, it might be in use |
// by another thread. Don't delete the old VLogInfo, just create a second |
// one. We keep track of both to avoid memory leak warnings. |
CHECK(!g_vlog_info_prev); |
@@ -371,13 +371,13 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) { |
g_vlog_info = |
new VlogInfo(command_line->GetSwitchValueASCII(switches::kV), |
command_line->GetSwitchValueASCII(switches::kVModule), |
- &min_log_level); |
+ &g_min_log_level); |
} |
- logging_destination = settings.logging_dest; |
+ g_logging_destination = settings.logging_dest; |
// ignore file options unless logging to file is set. |
- if ((logging_destination & LOG_TO_FILE) == 0) |
+ if ((g_logging_destination & LOG_TO_FILE) == 0) |
return true; |
LoggingLock::Init(settings.lock_log, settings.log_file); |
@@ -387,21 +387,21 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) { |
// default log file will re-initialize to the new options. |
CloseLogFileUnlocked(); |
- if (!log_file_name) |
- log_file_name = new PathString(); |
- *log_file_name = settings.log_file; |
+ if (!g_log_file_name) |
+ g_log_file_name = new PathString(); |
+ *g_log_file_name = settings.log_file; |
if (settings.delete_old == DELETE_OLD_LOG_FILE) |
- DeleteFilePath(*log_file_name); |
+ DeleteFilePath(*g_log_file_name); |
return InitializeLogFileHandle(); |
} |
void SetMinLogLevel(int level) { |
- min_log_level = std::min(LOG_FATAL, level); |
+ g_min_log_level = std::min(LOG_FATAL, level); |
} |
int GetMinLogLevel() { |
- return min_log_level; |
+ return g_min_log_level; |
} |
int GetVlogVerbosity() { |
@@ -410,8 +410,8 @@ int GetVlogVerbosity() { |
int GetVlogLevelHelper(const char* file, size_t N) { |
DCHECK_GT(N, 0U); |
- // Note: g_vlog_info may change on a different thread during startup |
- // (but will always be valid or NULL). |
+ // Note: |g_vlog_info| may change on a different thread during startup |
+ // (but will always be valid or nullptr). |
VlogInfo* vlog_info = g_vlog_info; |
return vlog_info ? |
vlog_info->GetVlogLevel(base::StringPiece(file, N - 1)) : |
@@ -420,10 +420,10 @@ int GetVlogLevelHelper(const char* file, size_t N) { |
void SetLogItems(bool enable_process_id, bool enable_thread_id, |
bool enable_timestamp, bool enable_tickcount) { |
- log_process_id = enable_process_id; |
- log_thread_id = enable_thread_id; |
- log_timestamp = enable_timestamp; |
- log_tickcount = enable_tickcount; |
+ g_log_process_id = enable_process_id; |
+ g_log_thread_id = enable_thread_id; |
+ g_log_timestamp = enable_timestamp; |
+ g_log_tickcount = enable_tickcount; |
} |
void SetShowErrorDialogs(bool enable_dialogs) { |
@@ -475,7 +475,7 @@ void DisplayDebugMessageInDialog(const std::string& str) { |
// Message.exe" in the same directory as the application. If it |
// exists, we use it, otherwise, we use a regular message box. |
wchar_t prog_name[MAX_PATH]; |
- GetModuleFileNameW(NULL, prog_name, MAX_PATH); |
+ GetModuleFileNameW(nullptr, prog_name, MAX_PATH); |
wchar_t* backslash = wcsrchr(prog_name, '\\'); |
if (backslash) |
backslash[1] = 0; |
@@ -490,20 +490,20 @@ void DisplayDebugMessageInDialog(const std::string& str) { |
startup_info.cb = sizeof(startup_info); |
PROCESS_INFORMATION process_info; |
- if (CreateProcessW(prog_name, &cmdline[0], NULL, NULL, false, 0, NULL, |
- NULL, &startup_info, &process_info)) { |
+ if (CreateProcessW(prog_name, &cmdline[0], nullptr, nullptr, false, 0, |
+ nullptr, nullptr, &startup_info, &process_info)) { |
WaitForSingleObject(process_info.hProcess, INFINITE); |
CloseHandle(process_info.hThread); |
CloseHandle(process_info.hProcess); |
} else { |
// debug process broken, let's just do a message box |
- MessageBoxW(NULL, &cmdline[0], L"Fatal error", |
+ MessageBoxW(nullptr, &cmdline[0], L"Fatal error", |
MB_OK | MB_ICONHAND | MB_TOPMOST); |
} |
#else |
// We intentionally don't implement a dialog on other platforms. |
// You can just look at stderr. |
-#endif |
+#endif // defined(OS_WIN) |
} |
#endif // !defined(NDEBUG) |
@@ -556,7 +556,7 @@ LogMessage::~LogMessage() { |
return; |
} |
- if ((logging_destination & LOG_TO_SYSTEM_DEBUG_LOG) != 0) { |
+ if ((g_logging_destination & LOG_TO_SYSTEM_DEBUG_LOG) != 0) { |
#if defined(OS_WIN) |
OutputDebugStringA(str_newline.c_str()); |
#elif defined(OS_ANDROID) |
@@ -589,7 +589,7 @@ LogMessage::~LogMessage() { |
} |
// write to log file |
- if ((logging_destination & LOG_TO_FILE) != 0) { |
+ if ((g_logging_destination & LOG_TO_FILE) != 0) { |
// We can have multiple threads and/or processes, so try to prevent them |
// from clobbering each other's writes. |
// If the client app did not call InitLogging, and the lock has not |
@@ -597,21 +597,21 @@ LogMessage::~LogMessage() { |
// to do this at the same time, there will be a race condition to create |
// the lock. This is why InitLogging should be called from the main |
// thread at the beginning of execution. |
- LoggingLock::Init(LOCK_LOG_FILE, NULL); |
+ LoggingLock::Init(LOCK_LOG_FILE, nullptr); |
LoggingLock logging_lock; |
if (InitializeLogFileHandle()) { |
#if defined(OS_WIN) |
- SetFilePointer(log_file, 0, 0, SEEK_END); |
+ SetFilePointer(g_log_file, 0, 0, SEEK_END); |
DWORD num_written; |
- WriteFile(log_file, |
+ WriteFile(g_log_file, |
static_cast<const void*>(str_newline.c_str()), |
static_cast<DWORD>(str_newline.length()), |
&num_written, |
- NULL); |
+ nullptr); |
#else |
ignore_result(fwrite( |
- str_newline.data(), str_newline.size(), 1, log_file)); |
- fflush(log_file); |
+ str_newline.data(), str_newline.size(), 1, g_log_file)); |
+ fflush(g_log_file); |
#endif |
} |
} |
@@ -651,12 +651,12 @@ void LogMessage::Init(const char* file, int line) { |
// TODO(darin): It might be nice if the columns were fixed width. |
stream_ << '['; |
- if (log_process_id) |
+ if (g_log_process_id) |
stream_ << CurrentProcessId() << ':'; |
- if (log_thread_id) |
+ if (g_log_thread_id) |
stream_ << base::PlatformThread::CurrentId() << ':'; |
- if (log_timestamp) { |
- time_t t = time(NULL); |
+ if (g_log_timestamp) { |
+ time_t t = time(nullptr); |
struct tm local_time = {0}; |
#ifdef _MSC_VER |
localtime_s(&local_time, &t); |
@@ -673,7 +673,7 @@ void LogMessage::Init(const char* file, int line) { |
<< std::setw(2) << tm_time->tm_sec |
<< ':'; |
} |
- if (log_tickcount) |
+ if (g_log_tickcount) |
stream_ << TickCount() << ':'; |
if (severity_ >= 0) |
stream_ << log_severity_name(severity_); |
@@ -707,8 +707,8 @@ BASE_EXPORT std::string SystemErrorCodeToString(SystemErrorCode error_code) { |
const int kErrorMessageBufferSize = 256; |
char msgbuf[kErrorMessageBufferSize]; |
DWORD flags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS; |
- DWORD len = FormatMessageA(flags, NULL, error_code, 0, msgbuf, |
- arraysize(msgbuf), NULL); |
+ DWORD len = FormatMessageA(flags, nullptr, error_code, 0, msgbuf, |
+ arraysize(msgbuf), nullptr); |
if (len) { |
// Messages returned by system end with line breaks. |
return base::CollapseWhitespaceASCII(msgbuf, true) + |
@@ -723,7 +723,7 @@ BASE_EXPORT std::string SystemErrorCodeToString(SystemErrorCode error_code) { |
} |
#else |
#error Not implemented |
-#endif |
+#endif // defined(OS_WIN) |
#if defined(OS_WIN) |
@@ -754,7 +754,7 @@ ErrnoLogMessage::ErrnoLogMessage(const char* file, |
ErrnoLogMessage::~ErrnoLogMessage() { |
stream() << ": " << SystemErrorCodeToString(err_); |
} |
-#endif // OS_WIN |
+#endif // defined(OS_WIN) |
void CloseLogFile() { |
LoggingLock logging_lock; |
@@ -762,7 +762,7 @@ void CloseLogFile() { |
} |
void RawLog(int level, const char* message) { |
- if (level >= min_log_level) { |
+ if (level >= g_min_log_level) { |
size_t bytes_written = 0; |
const size_t message_len = strlen(message); |
int rv; |
@@ -797,8 +797,8 @@ void RawLog(int level, const char* message) { |
#if defined(OS_WIN) |
std::wstring GetLogFileFullPath() { |
- if (log_file_name) |
- return *log_file_name; |
+ if (g_log_file_name) |
+ return *g_log_file_name; |
return std::wstring(); |
} |
#endif |