diff options
author | Ian Abbott <abbotti@mev.co.uk> | 2017-05-17 14:24:21 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-05-19 07:12:46 +0200 |
commit | f6652e7404ba4f10923227c75da4db4c86b1275e (patch) | |
tree | ef004d99024cebc4bf1ec8cd5946b93798d8fb22 | |
parent | 495111d91a35f63d8fa68749f0c4fe3b0ad31e54 (diff) | |
download | barebox-f6652e7404ba4f10923227c75da4db4c86b1275e.tar.gz barebox-f6652e7404ba4f10923227c75da4db4c86b1275e.tar.xz |
commands: allow <cmd>_aliases[] to be const
Commands with aliases define an array of alias strings such as:
static const char *<cmd>_aliases[] = { "<alias1>", NULL};
Although the elements are of type `const char *`, the elements
themselves are not `const`-qualified. If the array is declared as:
static const char * const <cmd>_aliases[] = { "<alias1>", NULL};
then the compiler warns about const qualifiers being discarded. This is
because the `aliases` member of `struct command` is declared as `const
char *aliases;`.
Change the declaration of the `aliases` member of `struct command` to
`const char * const *aliases;` so that it can point to a `const` array
of `const char *`. Also change the declaration of the `aliases`
variable in `register_command()` to avoid unnecessary type casts.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | common/command.c | 2 | ||||
-rw-r--r-- | include/command.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/common/command.c b/common/command.c index 03c70834d1..d9cc4a6d48 100644 --- a/common/command.c +++ b/common/command.c @@ -104,7 +104,7 @@ int register_command(struct command *cmd) list_add_sort(&cmd->list, &command_list, compare); if (cmd->aliases) { - char **aliases = (char**)cmd->aliases; + const char * const *aliases = cmd->aliases; while(*aliases) { struct command *c = xzalloc(sizeof(struct command)); diff --git a/include/command.h b/include/command.h index 43ee454f22..0afc5c7550 100644 --- a/include/command.h +++ b/include/command.h @@ -40,7 +40,7 @@ struct string_list; */ struct command { const char *name; /* Command Name */ - const char **aliases; + const char * const *aliases; /* Implementation function */ int (*cmd)(int, char *[]); int (*complete)(struct string_list *sl, char *instr); |