[U-Boot] [RFC PATCH v2 6/7] env: Introduce setenv_transient() helper function
Simon Glass
sjg at chromium.org
Sat Nov 19 14:47:40 CET 2016
Hi Bernhard,
On 16 November 2016 at 03:30, Bernhard Nortmann
<bernhard.nortmann at web.de> wrote:
> Like setenv(), but automatically marks the entry as "don't export".
>
> Signed-off-by: Bernhard Nortmann <bernhard.nortmann at web.de>
> ---
>
> Changes in v2: None
>
> cmd/nvedit.c | 21 +++++++++++++++++++++
> include/common.h | 1 +
> 2 files changed, 22 insertions(+)
>
Reviewed-by: Simon Glass <sjg at chromium.org>
But see below.
> diff --git a/cmd/nvedit.c b/cmd/nvedit.c
> index 9a78e1d..fbed3df 100644
> --- a/cmd/nvedit.c
> +++ b/cmd/nvedit.c
> @@ -300,6 +300,27 @@ int setenv(const char *varname, const char *varvalue)
> }
>
> /**
> + * Set a "transient" environment variable
> + *
> + * Like setenv(), but this automatically marks the
> + * resulting entry as transient (= "do not export").
> + */
> +int setenv_transient(const char *varname, const char *varvalue)
> +{
> + int rc = setenv(varname, varvalue);
> + if (rc == 0) {
I think returning the error right away is better here.
if (rc)
return rc;
> + ENTRY e, *ep;
> +
> + e.key = varname;
> + e.data = NULL;
> + hsearch_r(e, FIND, &ep, &env_htab, 0);
> + if (ep)
> + ep->flags |= ENV_FLAGS_VARACCESS_PREVENT_EXPORT;
> + }
> + return rc;
return 0;
> +}
> +
> +/**
> * Set an environment variable to an integer value
> *
> * @param varname Environment variable to set
> diff --git a/include/common.h b/include/common.h
> index a8d833b..c0fd319 100644
> --- a/include/common.h
> +++ b/include/common.h
> @@ -392,6 +392,7 @@ ulong getenv_hex(const char *varname, ulong default_val);
> int getenv_yesno(const char *var);
> int saveenv (void);
> int setenv (const char *, const char *);
> +int setenv_transient(const char *, const char *);
Please add a function comment and parameter names.
> int setenv_ulong(const char *varname, ulong value);
> int setenv_hex(const char *varname, ulong value);
> /**
> --
> 2.7.3
>
Regards,
SImon
More information about the U-Boot
mailing list