summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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
commit95de667e243fe48783da0fdc92270a0d3d28ff0c (patch)
treee8658d430c065fb212c4107d312a3655411bb8ea /src
parentc3c6a6e1d4b7cf121adb86d4021775ed8ced7fb4 (diff)
downloadopenocd+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>
Diffstat (limited to 'src')
-rw-r--r--src/helper/log.c17
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;