*node_constraints = g_slist_append(*node_constraints, new_con);
*node_constraints = g_list_append(*node_constraints, new_con);
unpack_rsc_to_node(xmlNodePtr xml_obj,		   GSListPtr rsc_list,		   GSListPtr node_list,		   GSListPtr *node_constraints)	{		xmlNodePtr node_ref = xml_obj->children;	rsc_to_node_t *new_con = crm_malloc(sizeof(rsc_to_node_t));	const char *id_lh =  xmlGetProp(xml_obj, "from");	const char *id =  xmlGetProp(xml_obj, XML_ATTR_ID);	const char *mod = xmlGetProp(xml_obj, "modifier");	const char *weight = xmlGetProp(xml_obj, "weight");	float weight_f = atof(weight);	resource_t *rsc_lh = pe_find_resource(rsc_list, id_lh);	if(rsc_lh == NULL) {		crm_err("No resource (con=%s, rsc=%s)",		       id, id_lh);	}	new_con->id = crm_strdup(id);	new_con->rsc_lh = rsc_lh;	new_con->weight = weight_f;				if(safe_str_eq(mod, "set")){		new_con->modifier = set;	} else if(safe_str_eq(mod, "inc")){		new_con->modifier = inc;	} else if(safe_str_eq(mod, "dec")){		new_con->modifier = dec;	} else {		// error	}/*  <rsc_to_node>  <node_ref id= type= name=/>  <node_ref id= type= name=/>  <node_ref id= type= name=/>*/		//				while(node_ref != NULL) {		const char *xml_name = node_ref->name;		const char *id_rh = xmlGetProp(node_ref, XML_NVPAIR_ATTR_NAME);		node_t *node_rh =  pe_find_node(node_list, id_rh);		node_ref = node_ref->next;				if(node_rh == NULL) {			// error			crm_err("node %s (from %s) not found",				id_rh, xml_name);			continue;		}				new_con->node_list_rh =			g_slist_append(new_con->node_list_rh,				       node_rh);				/* dont add it to the resource,		 *  the information is in the resouce's node list		 */	}	*node_constraints = g_slist_append(*node_constraints, new_con);	return TRUE;}