Ejemplo n.º 1
0
void
xml_node_reparent(xml_node_t *parent, xml_node_t *child)
{
	if (child->parent)
		xml_node_detach(child);
	xml_node_add_child(parent, child);
}
Ejemplo n.º 2
0
ni_bool_t
ni_iaid_map_del_iaid(ni_iaid_map_t *map, unsigned int iaid)
{
	xml_node_t *root, *node = NULL;
	unsigned int curr;

	if (!(root = ni_iaid_map_root_node(map)))
		return FALSE;

	while ((node = ni_iaid_map_next_node(root, node))) {
		if (!ni_iaid_map_node_to_iaid(node, &curr) || iaid != curr)
			continue;

		xml_node_detach(node);
		xml_node_free(node);
		return TRUE;
	}
	return FALSE;
}
Ejemplo n.º 3
0
ni_bool_t
ni_iaid_map_del_name(ni_iaid_map_t *map, const char *name)
{
	xml_node_t *root, *node = NULL;
	const char *attr;

	if (ni_string_empty(name))
		return FALSE;

	if (!(root = ni_iaid_map_root_node(map)))
		return FALSE;

	while ((node = ni_iaid_map_next_node(root, node))) {
		attr = xml_node_get_attr(node, NI_CONFIG_DEFAULT_IAID_DEVICE);
		if (!ni_string_eq(name, attr))
			continue;

		xml_node_detach(node);
		xml_node_free(node);
		return TRUE;
	}
	return FALSE;
}