summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo C2014-08-30 12:48:34 +0200
committerLeo C2014-08-30 12:48:34 +0200
commitdeb08cb66fa85fd0dc011d642e1a707da0477d9b (patch)
treea366dc0e01aa80c3e8cd7fc1c82d824bdf814582
parent85787726aedbb4cd763613f6c2eadf66f9110ff4 (diff)
downloadz180-stamp-deb08cb66fa85fd0dc011d642e1a707da0477d9b.zip
help cmd: fix column alignment
-rw-r--r--avr/command.c21
-rw-r--r--include/config.h2
2 files changed, 15 insertions, 8 deletions
diff --git a/avr/command.c b/avr/command.c
index 15b1c72..f1e184a 100644
--- a/avr/command.c
+++ b/avr/command.c
@@ -24,10 +24,14 @@ static void print_blanks(int_fast8_t count)
my_puts_P(PSTR(" "));
}
-static void print_usage_line(const FLASH char *name, const FLASH char *usage)
+static void print_usage_line(const FLASH char *name, int width,
+ const FLASH char *usage)
{
+ width -= strlen_P(name);
+ if (width < 0)
+ width = 0;
my_puts_P(name);
- print_blanks(CONFIG_SYS_MAXARGS - strlen_P(name));
+ print_blanks(width);
my_puts_P(PSTR(" - "));
my_puts_P(usage);
my_puts_P(PSTR("\n"));
@@ -70,7 +74,7 @@ int cmd_tbl_item_count(void)
command_ret_t _do_help(cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t * cmdtp,
int flag, int argc, char * const argv[])
{
- uint_fast8_t i;
+ uint_fast8_t i, max_len = 0;
command_ret_t rcode = CMD_RET_SUCCESS;
(void) flag;
@@ -83,6 +87,9 @@ command_ret_t _do_help(cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t * cmdtp,
cmdtp = cmd_start;
for (i = 0; i < cmd_items; i++) {
cmd_array[i] = cmdtp++;
+ uint_fast8_t l = strlen_P(cmd_array[i]->name);
+ if (l > max_len)
+ max_len = l;
}
/* Sort command list */
@@ -98,9 +105,9 @@ command_ret_t _do_help(cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t * cmdtp,
if (usage == NULL)
continue;
#ifdef GCC_BUG_61443
- print_usage_line(cmd_array[i]->name, usage);
+ print_usage_line(cmd_array[i]->name, max_len, usage);
#else
- printf_P(PSTR("%-" stringify(CONFIG_SYS_MAXARGS) "S - %S\n"),
+ printf_P(PSTR("%-" stringify(8) /*FIXME*/ "S - %S\n"),
cmd_array[i]->name, usage);
#endif
}
@@ -165,10 +172,10 @@ cmd_tbl_t *find_cmd (const char *cmd)
command_ret_t cmd_usage(const FLASH cmd_tbl_t *cmdtp)
{
// printf("%s - %s\n\n", cmdtp->name, cmdtp->usage);
- print_usage_line(cmdtp->name, cmdtp->usage);
+ print_usage_line(cmdtp->name, 0, cmdtp->usage);
#if 0
my_puts_P(cmdtp->name);
- print_blanks(CONFIG_SYS_MAXARGS - strlen_P(cmdtp->name));
+ print_blanks(/*FIXME*/ 8 - strlen_P(cmdtp->name));
my_puts_P(PSTR(" - "));
my_puts_P(cmdtp->usage);
my_puts_P(PSTR("\n\n"));
diff --git a/include/config.h b/include/config.h
index 396fd59..4093a67 100644
--- a/include/config.h
+++ b/include/config.h
@@ -21,8 +21,8 @@
#define CONFIG_SYS_I2C_CLOCK 100000L /* SCL clock frequency in Hz */
#define CONFIG_SYS_CBSIZE 250
-#define CONFIG_SYS_ENV_NAMELEN 16
#define CONFIG_SYS_MAXARGS 8
+#define CONFIG_SYS_ENV_NAMELEN 16
#define CONFIG_SYS_PROMPT "=> "