Browse Source
Handle invalid `Log::Level::Count`
Add a case of `Log::Level::Count` to all switch statements that
dispatch on `Log::Level`. The case simply asserts `false` and notes
the invalid log level.
pull/15/merge
Benjamin Barenblat
11 years ago
No known key found for this signature in database
GPG Key ID: 9E730149EB91C53B
2 changed files with
9 additions and
1 deletions
src/common/logging/backend.cpp
src/common/logging/text_formatter.cpp
@ -6,6 +6,7 @@
# include <array>
# include <cstdio>
# include "common/assert.h"
# include "common/common_funcs.h" // snprintf compatibility define
# include "common/logging/backend.h"
# include "common/logging/filter.h"
@ -78,8 +79,10 @@ const char* GetLevelName(Level log_level) {
LVL ( Warning ) ;
LVL ( Error ) ;
LVL ( Critical ) ;
case Level : : Count :
ASSERT_MSG ( false , " invalid log level " ) ;
return " Unknown " ;
}
return " Unknown " ;
# undef LVL
}
@ -14,6 +14,7 @@
# include "common/logging/log.h"
# include "common/logging/text_formatter.h"
# include "common/assert.h"
# include "common/common_funcs.h"
# include "common/string_util.h"
@ -82,6 +83,8 @@ void PrintColoredMessage(const Entry& entry) {
color = FOREGROUND_RED | FOREGROUND_INTENSITY ; break ;
case Level : : Critical : // Bright magenta
color = FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY ; break ;
case Level : : Count :
ASSERT_MSG ( false , " invalid log level " ) ; break ;
}
SetConsoleTextAttribute ( console_handle , color ) ;
@ -101,6 +104,8 @@ void PrintColoredMessage(const Entry& entry) {
color = ESC " [1;31m " ; break ;
case Level : : Critical : // Bright magenta
color = ESC " [1;35m " ; break ;
case Level : : Count :
ASSERT_MSG ( false , " invalid log level " ) ; break ;
}
fputs ( color , stderr ) ;