summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-07-16 08:49:05 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-07-16 08:49:05 +0000
commitd0eef63f68cb3183342f092a19d703fe236511da (patch)
treefd83a8dfa4fd70203c2de42c322333d766814d12
parent396d73ad0cf2f12f2eac1af2ba82ff4878dd78de (diff)
downloadopenocd+libswd-d0eef63f68cb3183342f092a19d703fe236511da.tar.gz
openocd+libswd-d0eef63f68cb3183342f092a19d703fe236511da.tar.bz2
openocd+libswd-d0eef63f68cb3183342f092a19d703fe236511da.tar.xz
openocd+libswd-d0eef63f68cb3183342f092a19d703fe236511da.zip
print syntax for command upon syntax error.
git-svn-id: svn://svn.berlios.de/openocd/trunk@811 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/helper/command.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index c1eacc00..f86777cd 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -358,6 +358,19 @@ int find_and_run_command(command_context_t *context, command_t *commands, char *
int retval = c->handler(context, c->name, words + start_word + 1, num_words - start_word - 1);
if (retval == ERROR_COMMAND_SYNTAX_ERROR)
{
+ /* Print help for command */
+ const char *t1="";
+ const char *t2="";
+ const char *t3="";
+ /* maximum of two levels :-) */
+ if (c->parent!=NULL)
+ {
+ t1=c->parent->name;
+ t2=" ";
+ }
+ t3=c->name;
+ command_run_linef(context, "help {%s%s%s}", t1, t2, t3);
+
}
else if (retval == ERROR_COMMAND_CLOSE_CONNECTION)