summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/helper/log.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/helper/log.c b/src/helper/log.c
index 549d7127..8dbdc947 100644
--- a/src/helper/log.c
+++ b/src/helper/log.c
@@ -194,17 +194,18 @@ void log_printf_lf(enum log_levels level, const char *file, int line, const char
*/
int handle_debug_level_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
- if (argc == 0)
- command_print(cmd_ctx, "debug_level: %i", debug_level);
-
- if (argc > 0)
- debug_level = strtoul(args[0], NULL, 0);
-
- if (debug_level < 0)
- debug_level = 0;
+ if (argc == 1)
+ {
+ unsigned new_level;
+ int retval = parse_uint(args[0], &new_level);
+ if (ERROR_OK != retval)
+ return retval;
+ debug_level = MIN(new_level, LOG_LVL_DEBUG);
+ }
+ else if (argc > 1)
+ return ERROR_COMMAND_SYNTAX_ERROR;
- if (debug_level > 3)
- debug_level = 3;
+ command_print(cmd_ctx, "debug_level: %i", debug_level);
if (debug_level >= LOG_LVL_DEBUG && server_use_pipes == 1)
{