env: add check/apply logic to himport_r()
Change hashtable so that a callback function will decide whether a
variable can be overwritten, and possibly apply the changes.
So add a new field to struct hsearch_data:
o "apply" callback function to check whether a variable can be
overwritten, and possibly immediately apply the changes;
when NULL, no check is performed.
And a new argument to himport_r():
o "do_apply": whether to call the apply callback function
NOTE: This patch does not change the current behavior.
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
committed by
Tom Rini
parent
348b1f1c60
commit
c5983592e9
@@ -184,6 +184,15 @@ void set_default_env(const char *s);
|
||||
/* Import from binary representation into hash table */
|
||||
int env_import(const char *buf, int check);
|
||||
|
||||
/*
|
||||
* Check if variable "name" can be changed from oldval to newval,
|
||||
* and if so, apply the changes (e.g. baudrate).
|
||||
* When (flag & H_FORCE) is set, it does not print out any error
|
||||
* message and forces overwriting of write-once variables.
|
||||
*/
|
||||
int env_check_apply(const char *name, const char *oldval,
|
||||
const char *newval, int flag);
|
||||
|
||||
#endif /* DO_DEPS_ONLY */
|
||||
|
||||
#endif /* _ENVIRONMENT_H_ */
|
||||
|
||||
Reference in New Issue
Block a user