g_hash_table_insert(node->details->attrs, crm_strdup("uname"), crm_strdup(node->details->id)); g_hash_table_insert(node->details->attrs, crm_strdup("id"), crm_strdup(node->details->id));
add_node_attrs(xmlNodePtr attrs, node_t *node){	const char *name  = NULL;	const char *value = NULL;		while(attrs != NULL){		name  = xmlGetProp(attrs, XML_NVPAIR_ATTR_NAME);		value = xmlGetProp(attrs, XML_NVPAIR_ATTR_VALUE);					if(name != NULL		   && value != NULL		   && safe_val(NULL, node, details) != NULL) {			crm_verbose("Adding %s => %s", name, value);			/* this is frustrating... no way to pass in const			 *  keys or values yet docs say:			 *   Note: If keys and/or values are dynamically			 *   allocated, you should free them first.			 */			g_hash_table_insert(node->details->attrs,					    crm_strdup(name),					    crm_strdup(value));		}		attrs = attrs->next;	}		return TRUE;}