diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2011-02-24 15:37:03 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2011-02-25 16:36:42 +0100 |
commit | 95de667e243fe48783da0fdc92270a0d3d28ff0c (patch) | |
tree | e8658d430c065fb212c4107d312a3655411bb8ea | |
parent | c3c6a6e1d4b7cf121adb86d4021775ed8ced7fb4 (diff) | |
download | openocd_libswd-95de667e243fe48783da0fdc92270a0d3d28ff0c.tar.gz openocd_libswd-95de667e243fe48783da0fdc92270a0d3d28ff0c.tar.bz2 openocd_libswd-95de667e243fe48783da0fdc92270a0d3d28ff0c.tar.xz openocd_libswd-95de667e243fe48783da0fdc92270a0d3d28ff0c.zip |
log: debug level is between silent and debug output levels
It wasn't previously possible to silence the output.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
-rw-r--r-- | src/helper/log.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/helper/log.c b/src/helper/log.c index b6fab016..8a8f08a7 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -224,19 +224,18 @@ void log_printf_lf(enum log_levels level, const char *file, unsigned line, const va_end(ap); } -/* change the current debug level on the fly - * 0: only ERRORS - * 1: + WARNINGS - * 2: + INFORMATIONAL MSGS - * 3: + DEBUG MSGS - */ COMMAND_HANDLER(handle_debug_level_command) { if (CMD_ARGC == 1) { - unsigned new_level; - COMMAND_PARSE_NUMBER(uint, CMD_ARGV[0], new_level); - debug_level = MIN(new_level, LOG_LVL_DEBUG); + int new_level; + COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], new_level); + if ((debug_level > LOG_LVL_DEBUG) || (new_level < LOG_LVL_SILENT)) + { + LOG_ERROR("level must be between %d and %d", LOG_LVL_SILENT, LOG_LVL_DEBUG); + return ERROR_COMMAND_SYNTAX_ERROR; + } + debug_level = new_level; } else if (CMD_ARGC > 1) return ERROR_COMMAND_SYNTAX_ERROR; |