mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/2] commands: setenv: support setenv dev.var=VAL syntax
@ 2020-09-15 12:08 Ahmad Fatoum
  2020-09-15 12:08 ` [PATCH 2/2] commands: setenv: allow use with hush shell Ahmad Fatoum
  2020-09-18  9:01 ` [PATCH 1/2] commands: setenv: support setenv dev.var=VAL syntax Sascha Hauer
  0 siblings, 2 replies; 3+ messages in thread
From: Ahmad Fatoum @ 2020-09-15 12:08 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

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@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


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-09-18  9:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15 12:08 [PATCH 1/2] commands: setenv: support setenv dev.var=VAL syntax Ahmad Fatoum
2020-09-15 12:08 ` [PATCH 2/2] commands: setenv: allow use with hush shell Ahmad Fatoum
2020-09-18  9:01 ` [PATCH 1/2] commands: setenv: support setenv dev.var=VAL syntax Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox