diff mbox series

cmd: pxe_utils: fix ipappend ip config empty vars

Message ID 20210121074435.2754687-1-art@khadas.com
State Needs Review / ACK
Delegated to: Tom Rini
Headers show
Series cmd: pxe_utils: fix ipappend ip config empty vars | expand

Commit Message

Artem Lapkin Jan. 21, 2021, 7:44 a.m. UTC
PROBLEM: If ipaddr, serverip, gatewayip or netmask variable undefined
we can have for example ip=192.168.2.33:<NULL>:192.168.2.1:255.255.255.0
yes its works same for linux kernel, but im think no need print <NULL>

SUGGESTED SOLUTION:
if some variable was undefined we need just print empty place like this
ip=192.168.2.33::192.168.2.1:255.255.255.0

Signed-off-by: Artem Lapkin <art@khadas.com>

---
 cmd/pxe_utils.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Tom Rini Jan. 27, 2021, 1:21 p.m. UTC | #1
On Thu, Jan 21, 2021 at 03:44:35PM +0800, Artem Lapkin wrote:

> PROBLEM: If ipaddr, serverip, gatewayip or netmask variable undefined
> we can have for example ip=192.168.2.33:<NULL>:192.168.2.1:255.255.255.0
> yes its works same for linux kernel, but im think no need print <NULL>
> 
> SUGGESTED SOLUTION:
> if some variable was undefined we need just print empty place like this
> ip=192.168.2.33::192.168.2.1:255.255.255.0
> 
> Signed-off-by: Artem Lapkin <art@khadas.com>
> 
> ---
>  cmd/pxe_utils.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/cmd/pxe_utils.c b/cmd/pxe_utils.c
> index 8716e782..2049c0f3 100644
> --- a/cmd/pxe_utils.c
> +++ b/cmd/pxe_utils.c
> @@ -395,9 +395,12 @@ static int label_boot(struct cmd_tbl *cmdtp, struct pxe_label *label)
>  	}
>  
>  	if (label->ipappend & 0x1) {
> +		char *a = env_get("ipaddr");
> +		char *b = env_get("serverip");
> +		char *c = env_get("gatewayip");
> +		char *d = env_get("netmask");
>  		sprintf(ip_str, " ip=%s:%s:%s:%s",
> -			env_get("ipaddr"), env_get("serverip"),
> -			env_get("gatewayip"), env_get("netmask"));
> +			a ? a : "", b ? b : "", c ? c : "", d ? d : "");
>  	}
>  
>  #ifdef CONFIG_CMD_NET

If Linux is happily parsing this, I'm not sure it's worth changing.
diff mbox series

Patch

diff --git a/cmd/pxe_utils.c b/cmd/pxe_utils.c
index 8716e782..2049c0f3 100644
--- a/cmd/pxe_utils.c
+++ b/cmd/pxe_utils.c
@@ -395,9 +395,12 @@  static int label_boot(struct cmd_tbl *cmdtp, struct pxe_label *label)
 	}
 
 	if (label->ipappend & 0x1) {
+		char *a = env_get("ipaddr");
+		char *b = env_get("serverip");
+		char *c = env_get("gatewayip");
+		char *d = env_get("netmask");
 		sprintf(ip_str, " ip=%s:%s:%s:%s",
-			env_get("ipaddr"), env_get("serverip"),
-			env_get("gatewayip"), env_get("netmask"));
+			a ? a : "", b ? b : "", c ? c : "", d ? d : "");
 	}
 
 #ifdef CONFIG_CMD_NET