From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Tue, 24 Nov 2015 12:04:54 -0700 Subject: [U-Boot] [RFC] common: cli_hush: avoid dead code In-Reply-To: <1448355263-545-2-git-send-email-Peng.Fan@freescale.com> References: <1448355263-545-1-git-send-email-Peng.Fan@freescale.com> <1448355263-545-2-git-send-email-Peng.Fan@freescale.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 24 November 2015 at 01:54, Peng Fan wrote: > Condition "(value == NULL && ++value == NULL)" actully will > always return false. > > Instead, use condition "(value == NULL || *(value + 1) == 0)" to detect > such expression "c=". To "c=", *(value + 1) is 0, so directly return -1, > but not continue. > > Signed-off-by: Peng Fan > Cc: Rabin Vincent > Cc: Simon Glass > Cc: Tom Rini > --- > common/cli_hush.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Reviewed-by: Simon Glass > diff --git a/common/cli_hush.c b/common/cli_hush.c > index a7cac4f..f075459 100644 > --- a/common/cli_hush.c > +++ b/common/cli_hush.c > @@ -2162,7 +2162,7 @@ int set_local_var(const char *s, int flg_export) > * NAME=VALUE format. So the first order of business is to > * split 's' on the '=' into 'name' and 'value' */ > value = strchr(name, '='); > - if (value == NULL && ++value == NULL) { > + if (value == NULL || *(value + 1) == 0) { I suggest: if (!value || !value[1]) but please feel free to ignore this. What you have will work. > free(name); > return -1; > } > -- > 2.6.2 > >