summaryrefslogtreecommitdiffstats
path: root/lib/label/label.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-02-08 11:12:18 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-02-08 11:12:18 +0000
commit02aeb23f1f1f9c9b0b6fdb5f66d1188c82b438b8 (patch)
tree2780033bf9632e1a1d9bfa1ae4a8ad814d63774f /lib/label/label.c
parentb6e97cea2ca3eb78ca29d50467114f95b7931248 (diff)
downloadlvm2-02aeb23f1f1f9c9b0b6fdb5f66d1188c82b438b8.tar.gz
lvm2-02aeb23f1f1f9c9b0b6fdb5f66d1188c82b438b8.tar.xz
lvm2-02aeb23f1f1f9c9b0b6fdb5f66d1188c82b438b8.zip
Use dm_list_iterate_items_safe
And avoid direct access to list member variables. Inline _free_li().
Diffstat (limited to 'lib/label/label.c')
-rw-r--r--lib/label/label.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/lib/label/label.c b/lib/label/label.c
index eb04ea35..f377367e 100644
--- a/lib/label/label.c
+++ b/lib/label/label.c
@@ -56,11 +56,6 @@ static struct labeller_i *_alloc_li(const char *name, struct labeller *l)
return li;
}
-static void _free_li(struct labeller_i *li)
-{
- dm_free(li);
-}
-
int label_init(void)
{
dm_list_init(&_labellers);
@@ -69,14 +64,12 @@ int label_init(void)
void label_exit(void)
{
- struct dm_list *c, *n;
- struct labeller_i *li;
+ struct labeller_i *li, *tli;
- for (c = _labellers.n; c && c != &_labellers; c = n) {
- n = c->n;
- li = dm_list_item(c, struct labeller_i);
+ dm_list_iterate_items_safe(li, tli, &_labellers) {
+ dm_list_del(&li->list);
li->l->ops->destroy(li->l);
- _free_li(li);
+ dm_free(li);
}
dm_list_init(&_labellers);