diff options
Diffstat (limited to 'src/helper/log.c')
| -rw-r--r-- | src/helper/log.c | 21 | 
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)  	{ | 
