Simplify and improve handle_debug_level_comamnd:
- Bug fix: Return a syntax error if more than one argument is given. - Bug fix: Use new parse_uint helper ensure debug_level parses correctly. - Change: Display the debug_level after it has been set. - Simplify bounds checking of debug_level. git-svn-id: svn://svn.berlios.de/openocd/trunk@2208 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
5af1bdcff4
commit
0f6a47837e
|
@ -194,18 +194,19 @@ 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)
|
int handle_debug_level_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
|
||||||
{
|
{
|
||||||
if (argc == 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;
|
||||||
|
|
||||||
command_print(cmd_ctx, "debug_level: %i", debug_level);
|
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 (debug_level > 3)
|
|
||||||
debug_level = 3;
|
|
||||||
|
|
||||||
if (debug_level >= LOG_LVL_DEBUG && server_use_pipes == 1)
|
if (debug_level >= LOG_LVL_DEBUG && server_use_pipes == 1)
|
||||||
{
|
{
|
||||||
/* if we are enabling debug info then we need to write to a log file
|
/* if we are enabling debug info then we need to write to a log file
|
||||||
|
|
Loading…
Reference in New Issue