From 0478b0b9b674da35948d7500b595ae14387068ac Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Wed, 25 Apr 2018 11:10:34 +0200 Subject: [PATCH] arm64: zynqmp: Simplify boot_target variable composition Call calloc for space allocation only at one location and include if/else to sprintf. This will simplify run time device adding based on id aliases. Signed-off-by: Michal Simek Reviewed-by: Alexander Graf --- board/xilinx/zynqmp/zynqmp.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 911cd52..57c0d93 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -453,6 +453,7 @@ int board_late_init(void) { u32 reg = 0; u8 bootmode; + int env_targets_len = 0; const char *mode; char *new_targets; char *env_targets; @@ -529,14 +530,13 @@ int board_late_init(void) * and default boot_targets */ env_targets = env_get("boot_targets"); - if (env_targets) { - new_targets = calloc(1, strlen(mode) + - strlen(env_targets) + 2); - sprintf(new_targets, "%s %s", mode, env_targets); - } else { - new_targets = calloc(1, strlen(mode) + 2); - sprintf(new_targets, "%s", mode); - } + if (env_targets) + env_targets_len = strlen(env_targets); + + new_targets = calloc(1, strlen(mode) + env_targets_len + 2); + + sprintf(new_targets, "%s %s", mode, + env_targets ? env_targets : ""); env_set("boot_targets", new_targets);