summaryrefslogtreecommitdiff
path: root/include/environment.h
diff options
context:
space:
mode:
authorYaniv Levinsky <yaniv.levinsky@compulab.co.il>2018-06-24 19:16:57 +0300
committerTom Rini <trini@konsulko.com>2018-07-19 23:17:58 +0300
commitc5d548a9f881b2268f1d81dab9cd329ae336607e (patch)
tree5a0e567d718a3d1816ab6ce8145be83067bca46b /include/environment.h
parent5a04264ecf5f0f853f2d562b4c5efb139d3d4a9d (diff)
downloadu-boot-c5d548a9f881b2268f1d81dab9cd329ae336607e.tar.xz
env: common: accept flags on reset to default env
The function set_default_env() sets the hashtable flags for import_r(). Formally set_default_env() doesn't accept flags from its callers. In practice the caller can (un)set the H_INTERACTIVE flag, but it has to be done using the first character of the function's string argument. Other flags like H_FORCE can't be set by the caller. Change the function to accept flags argument. The benefits are: 1. The caller will have to explicitly set the H_INTERACTIVE flag, instead of un-setting it using a special char in a string. 2. Add the ability to propagate flags from the caller to himport(), especially the H_FORCE flag from do_env_default() in nvedit.c that currently gets ignored for "env default -a -f" commands. 3. Flags and messages will not be coupled together. A caller will be able to set flags without passing a string and vice versa. Please note: The propagation of H_FORCE from do_env_default() does not introduce any functional changes, because currently himport_r() is set to destroy the old environment regardless if H_FORCE flag is set or not. More changes are needed to utilize the propagation of H_FORCE. Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Diffstat (limited to 'include/environment.h')
-rw-r--r--include/environment.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/environment.h b/include/environment.h
index 2fe1f3eb48..5e90f157e8 100644
--- a/include/environment.h
+++ b/include/environment.h
@@ -272,7 +272,7 @@ void env_crc_update(void);
char *env_get_default(const char *name);
/* [re]set to the default environment */
-void set_default_env(const char *s);
+void set_default_env(const char *s, int flags);
/* [re]set individual variables to their value in the default environment */
int set_default_vars(int nvars, char * const vars[], int flags);