diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-09-21 09:33:34 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-09-22 11:31:16 +0200 |
commit | 0ad0baac55f7aa39a9b629abb90973745564afc6 (patch) | |
tree | b95d21d06f0e0535a2a544605d2864df13c02b6a /common | |
parent | 8776eca37aca1f8d5d2d7091314989d0cc24b89b (diff) | |
download | barebox-0ad0baac55f7aa39a9b629abb90973745564afc6.tar.gz barebox-0ad0baac55f7aa39a9b629abb90973745564afc6.tar.xz |
globalvar: Allow to remove multiple globalvars using wildcards
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r-- | common/globalvar.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/common/globalvar.c b/common/globalvar.c index 4bda029c84..989fdb7f8e 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -44,12 +44,14 @@ int globalvar_add(const char *name, void globalvar_remove(const char *name) { - struct param_d *param = get_param_by_name(&global_device, name); + struct param_d *p, *tmp; - if (!param) - return; + list_for_each_entry_safe(p, tmp, &global_device.parameters, list) { + if (fnmatch(name, p->name, 0)) + continue; - dev_remove_param(param); + dev_remove_param(p); + } } static int __nv_save(const char *prefix, const char *name, const char *val) |