diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2007-04-25 01:52:00 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2007-04-25 01:52:00 +0200 |
commit | db6e59df561dbedb89a27d7362d6564847258bfe (patch) | |
tree | 5e738d5d10c06fe3ab64a105f0929d4679d29162 /udev_utils.c | |
parent | 07bc6002cac04de7dc80fae0287695f91b2c3f23 (diff) |
unset variable with ENV{VAR}=""
Diffstat (limited to 'udev_utils.c')
-rw-r--r-- | udev_utils.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/udev_utils.c b/udev_utils.c index e892012132..6d646b0ee6 100644 --- a/udev_utils.c +++ b/udev_utils.c @@ -110,6 +110,26 @@ char *name_list_key_add(struct list_head *name_list, const char *key, const char return new_name->name; } +int name_list_key_remove(struct list_head *name_list, const char *key) +{ + struct name_entry *name_loop; + struct name_entry *temp_loop; + size_t keylen = strlen(key); + int retval = 0; + + list_for_each_entry_safe(name_loop, temp_loop, name_list, node) { + if (strncmp(name_loop->name, key, keylen) != 0) + continue; + if (name_loop->name[keylen] != '=') + continue; + list_del(&name_loop->node); + free(name_loop); + retval = 1; + break; + } + return retval; +} + void name_list_cleanup(struct list_head *name_list) { struct name_entry *name_loop; |