Beispiel #1
0
static inline void tc_device_free(struct tc_device *n)
{
    if(n->next) n->next->prev = n->prev;
    if(n->prev) n->prev->next = n->next;
    if(tc_device_root == n) {
        if(n->next) tc_device_root = n->next;
        else tc_device_root = n->prev;
    }

    if(unlikely(tc_device_index_del(n) != n))
        error("plugin_tc: INTERNAL ERROR: removing device '%s' removed a different device.", n->id);

    while(n->classes) tc_class_free(n, n->classes);

    freez(n->id);
    freez(n->name);
    freez(n->family);
    freez(n);
}
Beispiel #2
0
static inline void tc_device_free(struct tc_device *n)
{
	if(n->next) n->next->prev = n->prev;
	if(n->prev) n->prev->next = n->next;
	if(tc_device_root == n) {
		if(n->next) tc_device_root = n->next;
		else tc_device_root = n->prev;
	}

	tc_device_index_del(n);

	while(n->classes) tc_class_free(n, n->classes);

	if(n->id) free(n->id);
	if(n->name) free(n->name);
	if(n->family) free(n->family);

	free(n);
}