diff mbox series

nvedit: simplify do_env_indirect()

Message ID 20230306132721.1528493-1-rasmus.villemoes@prevas.dk
State Accepted
Commit 732b0825475c1a2466a6abf6e223b2a77af011f2
Delegated to: Tom Rini
Headers show
Series nvedit: simplify do_env_indirect() | expand

Commit Message

Rasmus Villemoes March 6, 2023, 1:27 p.m. UTC
Instead of calling env_get(from) up to three times, just do it once,
computing the value we will put into 'to' and error out if that is
NULL (i.e. no 'from' variable and no default provided).

No functional change.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
---
 cmd/nvedit.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

Comments

Simon Glass March 6, 2023, 5:53 p.m. UTC | #1
On Mon, 6 Mar 2023 at 06:27, Rasmus Villemoes
<rasmus.villemoes@prevas.dk> wrote:
>
> Instead of calling env_get(from) up to three times, just do it once,
> computing the value we will put into 'to' and error out if that is
> NULL (i.e. no 'from' variable and no default provided).
>
> No functional change.
>
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> ---
>  cmd/nvedit.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini March 31, 2023, 2:16 p.m. UTC | #2
On Mon, Mar 06, 2023 at 02:27:21PM +0100, Rasmus Villemoes wrote:

> Instead of calling env_get(from) up to three times, just do it once,
> computing the value we will put into 'to' and error out if that is
> NULL (i.e. no 'from' variable and no default provided).
> 
> No functional change.
> 
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/next, thanks!
diff mbox series

Patch

diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index 53e6b57b60..4844eb7f0c 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -1026,6 +1026,7 @@  static int do_env_indirect(struct cmd_tbl *cmdtp, int flag,
 	char *from = argv[2];
 	char *default_value = NULL;
 	int ret = 0;
+	char *val;
 
 	if (argc < 3 || argc > 4) {
 		return CMD_RET_USAGE;
@@ -1035,18 +1036,14 @@  static int do_env_indirect(struct cmd_tbl *cmdtp, int flag,
 		default_value = argv[3];
 	}
 
-	if (env_get(from) == NULL && default_value == NULL) {
+	val = env_get(from) ?: default_value;
+	if (!val) {
 		printf("## env indirect: Environment variable for <from> (%s) does not exist.\n", from);
 
 		return CMD_RET_FAILURE;
 	}
 
-	if (env_get(from) == NULL) {
-		ret = env_set(to, default_value);
-	}
-	else {
-		ret = env_set(to, env_get(from));
-	}
+	ret = env_set(to, val);
 
 	if (ret == 0) {
 		return CMD_RET_SUCCESS;