summaryrefslogtreecommitdiff
path: root/src/helper/command.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-04-04 13:47:38 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-04-04 13:47:38 +0000
commit35b3c95299a97c05078f7dd662d66c89a356869d (patch)
treeb908855a11539228608f57c61d46e06ae208f544 /src/helper/command.c
parent7abe97565e77d5a9c34099ea15ad1608567b1581 (diff)
downloadopenocd_libswd-35b3c95299a97c05078f7dd662d66c89a356869d.tar.gz
openocd_libswd-35b3c95299a97c05078f7dd662d66c89a356869d.tar.bz2
openocd_libswd-35b3c95299a97c05078f7dd662d66c89a356869d.tar.xz
openocd_libswd-35b3c95299a97c05078f7dd662d66c89a356869d.zip
- reverted some of the changes that possibly broke arm926ejs. Waiting
for a bit more info before I can tell with confidence whether or not this would have any effect. - worked on error propagation and output for flash git-svn-id: svn://svn.berlios.de/openocd/trunk@539 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/helper/command.c')
-rw-r--r--src/helper/command.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index 7d24d81d..ef567333 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -298,6 +298,7 @@ void command_print(command_context_t *context, char *format, ...)
int find_and_run_command(command_context_t *context, command_t *commands, char *words[], int num_words, int start_word)
{
command_t *c;
+ int retval = ERROR_COMMAND_SYNTAX_ERROR;
if (unique_length_dirty)
{
@@ -321,6 +322,7 @@ int find_and_run_command(command_context_t *context, command_t *commands, char *
if (!c->handler)
{
command_print(context, "No handler for command");
+ retval = ERROR_COMMAND_SYNTAX_ERROR;
break;
}
else
@@ -330,6 +332,12 @@ int find_and_run_command(command_context_t *context, command_t *commands, char *
{
command_print(context, "Syntax error:");
command_print_help_line(context, c, 0);
+ } else if (retval != ERROR_OK)
+ {
+ /* we do not print out an error message because the command *should*
+ * have printed out an error
+ */
+ LOG_DEBUG("Command failed with error code %d", retval);
}
return retval;
}
@@ -347,7 +355,7 @@ int find_and_run_command(command_context_t *context, command_t *commands, char *
}
command_print(context, "Command %s not found", words[start_word]);
- return ERROR_OK;
+ return retval;
}
int command_run_line(command_context_t *context, char *line)