mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-01 22:58:49 -04:00
ucm: debug parser
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
e820866637
commit
e4083a1182
5 changed files with 274 additions and 160 deletions
|
|
@ -94,7 +94,8 @@ void uc_mgr_free_value(struct list_head *base)
|
|||
val = list_entry(pos, struct ucm_value, list);
|
||||
free(val->name);
|
||||
free(val->data);
|
||||
list_del(pos);
|
||||
list_del(&val->list);
|
||||
free(val);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -106,8 +107,8 @@ void uc_mgr_free_dev_list(struct list_head *base)
|
|||
list_for_each_safe(pos, npos, base) {
|
||||
dlist = list_entry(pos, struct dev_list, list);
|
||||
free(dlist->name);
|
||||
list_del(&dlist->list);
|
||||
free(dlist);
|
||||
list_del(pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -133,11 +134,18 @@ void uc_mgr_free_sequence(struct list_head *base)
|
|||
|
||||
list_for_each_safe(pos, npos, base) {
|
||||
seq = list_entry(pos, struct sequence_element, list);
|
||||
list_del(&seq->list);
|
||||
uc_mgr_free_sequence_element(seq);
|
||||
list_del(pos);
|
||||
}
|
||||
}
|
||||
|
||||
void uc_mgr_free_transition_element(struct transition_sequence *tseq)
|
||||
{
|
||||
free(tseq->name);
|
||||
uc_mgr_free_sequence(&tseq->transition_list);
|
||||
free(tseq);
|
||||
}
|
||||
|
||||
void uc_mgr_free_transition(struct list_head *base)
|
||||
{
|
||||
struct list_head *pos, *npos;
|
||||
|
|
@ -145,10 +153,8 @@ void uc_mgr_free_transition(struct list_head *base)
|
|||
|
||||
list_for_each_safe(pos, npos, base) {
|
||||
tseq = list_entry(pos, struct transition_sequence, list);
|
||||
free(tseq->name);
|
||||
uc_mgr_free_sequence(&tseq->transition_list);
|
||||
free(tseq);
|
||||
list_del(pos);
|
||||
list_del(&tseq->list);
|
||||
uc_mgr_free_transition_element(tseq);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -166,8 +172,8 @@ void uc_mgr_free_modifier(struct list_head *base)
|
|||
uc_mgr_free_transition(&mod->transition_list);
|
||||
uc_mgr_free_dev_list(&mod->dev_list);
|
||||
uc_mgr_free_value(&mod->value_list);
|
||||
list_del(&mod->list);
|
||||
free(mod);
|
||||
list_del(pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -184,8 +190,8 @@ void uc_mgr_free_device(struct list_head *base)
|
|||
uc_mgr_free_sequence(&dev->disable_list);
|
||||
uc_mgr_free_transition(&dev->transition_list);
|
||||
uc_mgr_free_value(&dev->value_list);
|
||||
list_del(&dev->list);
|
||||
free(dev);
|
||||
list_del(pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -204,8 +210,8 @@ void uc_mgr_free_verb(snd_use_case_mgr_t *uc_mgr)
|
|||
uc_mgr_free_value(&verb->value_list);
|
||||
uc_mgr_free_device(&verb->device_list);
|
||||
uc_mgr_free_modifier(&verb->modifier_list);
|
||||
list_del(&verb->list);
|
||||
free(verb);
|
||||
list_del(pos);
|
||||
}
|
||||
uc_mgr_free_sequence(&uc_mgr->default_list);
|
||||
free(uc_mgr->comment);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue