if(attrs != NULL) 
const char *id = xmlGetProp(xml_obj, "id"); const char *type = xmlGetProp(xml_obj, "type"); if(attrs != NULL) { 
unpack_nodes(xmlNodePtr nodes){	pdebug(cl_log(LOG_DEBUG, "Begining unpack... %s", __FUNCTION__));	int lpc = 1;	while(nodes != NULL) {		pdebug(cl_log(LOG_DEBUG, "Processing node..."));		xmlNodePtr xml_obj = nodes;		xmlNodePtr attrs = xml_obj->children;		if(attrs != NULL)			attrs = attrs->children;				const char *id = xmlGetProp(xml_obj, "id");		nodes = nodes->next;			if(id == NULL) {			cl_log(LOG_ERR, "Must specify id tag in <node>");			continue;		}		node_t *new_node = cl_malloc(sizeof(node_t));		new_node->weight = 1.0 * lpc++;		new_node->fixed = FALSE;		new_node->id = cl_strdup(id);		new_node->attrs =			g_hash_table_new(g_str_hash, g_str_equal);		while(attrs != NULL){			const char *name = xmlGetProp(attrs, "name");			const char *value = xmlGetProp(attrs, "value");			if(name != NULL && value != NULL) {				g_hash_table_insert(new_node->attrs,						    cl_strdup(name),						    cl_strdup(value));			}			attrs = attrs->next;		}				pdebug(cl_log(LOG_DEBUG, "Adding node id... %s (%p)",			      id, new_node));		node_list = g_slist_append(node_list, new_node);    	}  	node_list = g_slist_sort(node_list, sort_node_weight);	return TRUE;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/a3ce75677d1dbba44868d0c952600abe4b59a8cb/pengine.c/clean/crm/pengine/pengine.c