[PATCH 1/2] commands: setenv: support setenv dev.var=VAL syntax
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue Sep 15 08:08:30 EDT 2020
In preparation for making setenv selectable under CONFIG_SHELL_HUSH,
allow a `setenv dev.var=VAL syntax`:
- makes command use less surprising for hush users
- allows seamless integration with current device parameter complete
While at it, propagate setenv's return code to the calling shell.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
commands/setenv.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/commands/setenv.c b/commands/setenv.c
index 3cf769d24a68..a70a0de4cebc 100644
--- a/commands/setenv.c
+++ b/commands/setenv.c
@@ -8,12 +8,20 @@
static int do_setenv(int argc, char *argv[])
{
+ char *equal;
+
if (argc < 2)
return COMMAND_ERROR_USAGE;
- setenv(argv[1], argv[2]);
+ equal = strrchr(argv[1], '=');
+ if (equal) {
+ equal[0] = '\0';
+ if (equal[1])
+ argv[2] = &equal[1];
+ }
+
- return 0;
+ return setenv(argv[1], argv[2]) ? COMMAND_ERROR : COMMAND_SUCCESS;
}
BAREBOX_CMD_HELP_START(setenv)
--
2.28.0
More information about the barebox
mailing list