diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2010-01-09 13:32:08 -0800 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2010-01-09 13:32:08 -0800 |
commit | 1dd5277ba3eb8c5938832b41c2bf6cb5bf19146e (patch) | |
tree | 3f0ddf7826c836c868a1ac2071e22208f85770c5 | |
parent | 1c5c57ec8e3f285cc81d4ad101edccb82b721beb (diff) | |
download | riscv-openocd-1dd5277ba3eb8c5938832b41c2bf6cb5bf19146e.zip riscv-openocd-1dd5277ba3eb8c5938832b41c2bf6cb5bf19146e.tar.gz riscv-openocd-1dd5277ba3eb8c5938832b41c2bf6cb5bf19146e.tar.bz2 |
src/helper: usage/help updates
Make "usage" messages use the same EBNF as the User's Guide;
no angle brackets. Improve and correct various helptexts.
Don't use "&function"; a function's name is its address.
Fix some whitespace glitches, shrink a few overlong lines.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-rw-r--r-- | src/helper/command.c | 54 | ||||
-rw-r--r-- | src/helper/ioutil.c | 63 | ||||
-rw-r--r-- | src/helper/log.c | 21 |
3 files changed, 81 insertions, 57 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index 0ddcd01..288ed72 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -1087,6 +1087,7 @@ static int jim_command_mode(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { struct command_context *cmd_ctx = current_command_context(interp); enum command_mode mode; + if (argc > 1) { struct command *c = cmd_ctx->commands; @@ -1223,7 +1224,7 @@ COMMAND_HANDLER(handle_help_add_command) return help_add_command(CMD_CTX, c, cmd_name, help, usage); } -/* sleep command sleeps for <n> miliseconds +/* sleep command sleeps for <n> milliseconds * this is useful in target startup scripts */ COMMAND_HANDLER(handle_sleep_command) @@ -1263,19 +1264,22 @@ static const struct command_registration command_subcommand_handlers[] = { { .name = "mode", .mode = COMMAND_ANY, - .jim_handler = &jim_command_mode, - .usage = "[<name> ...]", + .jim_handler = jim_command_mode, + .usage = "[command_name ...]", .help = "Returns the command modes allowed by a command:" "'any', 'config', or 'exec'. If no command is" - "specified, returns the current command mode.", + "specified, returns the current command mode. " + "Returns 'unknown' if an unknown command is given. " + "Command can be multiple tokens.", }, { .name = "type", .mode = COMMAND_ANY, - .jim_handler = &jim_command_type, - .usage = "<name> ...", + .jim_handler = jim_command_type, + .usage = "command_name [...]", .help = "Returns the type of built-in command:" - "'native', 'simple', 'group', or 'unknown'", + "'native', 'simple', 'group', or 'unknown'. " + "Command can be multiple tokens.", }, COMMAND_REGISTRATION_DONE }; @@ -1283,39 +1287,43 @@ static const struct command_registration command_subcommand_handlers[] = { static const struct command_registration command_builtin_handlers[] = { { .name = "add_help_text", - .handler = &handle_help_add_command, + .handler = handle_help_add_command, .mode = COMMAND_ANY, - .help = "add new command help text", - .usage = "<command> [...] <help_text>]", + .help = "Add new command help text; " + "Command can be multiple tokens.", + .usage = "command_name helptext_string", }, { .name = "add_usage_text", - .handler = &handle_help_add_command, + .handler = handle_help_add_command, .mode = COMMAND_ANY, - .help = "add new command usage text", - .usage = "<command> [...] <usage_text>]", + .help = "Add new command usage text; " + "command can be multiple tokens.", + .usage = "command_name usage_string", }, { .name = "sleep", - .handler = &handle_sleep_command, + .handler = handle_sleep_command, .mode = COMMAND_ANY, - .help = "sleep for n milliseconds. " - "\"busy\" will busy wait", - .usage = "<n> [busy]", + .help = "Sleep for specified number of milliseconds. " + "\"busy\" will busy wait instead (avoid this).", + .usage = "milliseconds ['busy']", }, { .name = "help", - .handler = &handle_help_command, + .handler = handle_help_command, .mode = COMMAND_ANY, - .help = "show full command help", - .usage = "[<command> ...]", + .help = "Show full command help; " + "command can be multiple tokens.", + .usage = "[command_name]", }, { .name = "usage", - .handler = &handle_help_command, + .handler = handle_help_command, .mode = COMMAND_ANY, - .help = "show basic command usage", - .usage = "[<command> ...]", + .help = "Show basic command usage; " + "command can be multiple tokens.", + .usage = "[command_name]", }, { .name = "command", diff --git a/src/helper/ioutil.c b/src/helper/ioutil.c index 27bffad..14f6e91 100644 --- a/src/helper/ioutil.c +++ b/src/helper/ioutil.c @@ -191,6 +191,7 @@ COMMAND_HANDLER(handle_append_command) int retval = ERROR_FAIL; FILE *config_file = NULL; + config_file = fopen(CMD_ARGV[0], "a"); if (config_file != NULL) { @@ -199,7 +200,8 @@ COMMAND_HANDLER(handle_append_command) unsigned i; for (i = 1; i < CMD_ARGC; i++) { - if (fwrite(CMD_ARGV[i], 1, strlen(CMD_ARGV[i]), config_file) != strlen(CMD_ARGV[i])) + if (fwrite(CMD_ARGV[i], 1, strlen(CMD_ARGV[i]), + config_file) != strlen(CMD_ARGV[i])) break; if (i != CMD_ARGC - 1) { @@ -208,9 +210,8 @@ COMMAND_HANDLER(handle_append_command) } } if ((i == CMD_ARGC) && (fwrite("\n", 1, 1, config_file) == 1)) - { retval = ERROR_OK; - } + fclose(config_file); } @@ -619,76 +620,86 @@ static int zylinjtag_Jim_Command_mac(Jim_Interp *interp, int argc, static const struct command_registration ioutil_command_handlers[] = { { .name = "cat", - .handler = &handle_cat_command, + .handler = handle_cat_command, .mode = COMMAND_ANY, - .help = "display file content", - .usage= "<file_name>", + .help = "display text file content", + .usage= "file_name", }, { .name = "trunc", - .handler = &handle_trunc_command, + .handler = handle_trunc_command, .mode = COMMAND_ANY, - .help = "truncate a file 0 size", - .usage= "<file_name>", + .help = "truncate a file to zero length", + .usage= "file_name", }, { .name = "cp", - .handler = &handle_cp_command, + .handler = handle_cp_command, .mode = COMMAND_ANY, .help = "copy a file", - .usage = "<src> <dst>", + .usage = "src_file_name dst_file_name", }, { .name = "append_file", - .handler = &handle_append_command, + .handler = handle_append_command, .mode = COMMAND_ANY, .help = "append a variable number of strings to a file", - .usage= "<file_name> [<string> ...]", + .usage= "file_name [string ...]", }, { .name = "meminfo", - .handler = &handle_meminfo_command, + .handler = handle_meminfo_command, .mode = COMMAND_ANY, - .help = "display available ram memory", + .help = "display free heap space", }, { .name = "rm", .mode = COMMAND_ANY, - .handler = &handle_rm_command, - .help = "remove a file", - .usage = "<file>", + .handler = handle_rm_command, + .help = "remove a directory or file", + .usage = "file_name", }, + + /* + * REVISIT shouldn't most, or all, these zylinjtag_*() + * entries be #ifdef ZY1000? If not, why so they have + * those names? + * + * Peek and poke are security holes -- they manipulate + * server-internal addresses. + */ + // jim handlers { .name = "peek", .mode = COMMAND_ANY, - .jim_handler = &zylinjtag_Jim_Command_peek, + .jim_handler = zylinjtag_Jim_Command_peek, .help = "peek at a memory address", - .usage = "<addr>", + .usage = "address", }, { .name = "poke", .mode = COMMAND_ANY, - .jim_handler = &zylinjtag_Jim_Command_poke, + .jim_handler = zylinjtag_Jim_Command_poke, .help = "poke at a memory address", - .usage = "<addr> <value>", + .usage = "address value", }, { .name = "ls", .mode = COMMAND_ANY, - .jim_handler = &zylinjtag_Jim_Command_ls, + .jim_handler = zylinjtag_Jim_Command_ls, .help = "show a listing of files", - .usage = "<dir>", + .usage = "dirname", }, { .name = "mac", .mode = COMMAND_ANY, - .jim_handler = &zylinjtag_Jim_Command_mac, + .jim_handler = zylinjtag_Jim_Command_mac, .help = "show MAC address", }, { .name = "ip", - .jim_handler = &zylinjtag_Jim_Command_ip, + .jim_handler = zylinjtag_Jim_Command_ip, .mode = COMMAND_ANY, .help = "show IP address", }, diff --git a/src/helper/log.c b/src/helper/log.c index 6adde4b..7450fef 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -286,13 +286,16 @@ COMMAND_HANDLER(handle_debug_level_command) 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 - * otherwise the pipe will get full and cause issues with gdb */ + /* if we are enabling debug info then we need to write to a + * log file otherwise the pipe will get full and cause issues + * with gdb + */ FILE* file = fopen("openocd.log", "w"); if (file) { log_output = file; - LOG_WARNING("enabling log output as we are using pipes"); + LOG_WARNING("enabling logfile output because " + "we are using pipes to talk to GDB."); } } @@ -319,17 +322,19 @@ COMMAND_HANDLER(handle_log_output_command) static struct command_registration log_command_handlers[] = { { .name = "log_output", - .handler = &handle_log_output_command, + .handler = handle_log_output_command, .mode = COMMAND_ANY, .help = "redirect logging to a file (default: stderr)", - .usage = "<file_name>", + .usage = "file_name", }, { .name = "debug_level", - .handler = &handle_debug_level_command, + .handler = handle_debug_level_command, .mode = COMMAND_ANY, - .help = "sets the verbosity level of debugging output", - .usage = "<level:0-3>", + .help = "Sets the verbosity level of debugging output. " + "0 shows errors only; 1 adds warnings; " + "2 (default) adds other info; 3 adds debugging.", + .usage = "number", }, COMMAND_REGISTRATION_DONE }; |