crm_debug("Creating a blank fragment"); 
crm_devel("Creating a blank fragment"); 
create_cib_fragment_adv(	crm_data_t *update, const char *section, const char *source){	crm_data_t *cib = NULL;	gboolean whole_cib = FALSE;	crm_data_t *fragment = create_xml_node(NULL, XML_TAG_FRAGMENT);	crm_data_t *object_root  = NULL;	char *auto_section = NULL;	const char *update_name = NULL;	if(update != NULL) {		update_name = crm_element_name(update);	}	auto_section = cib_pluralSection(update_name);		if(update == NULL && section == NULL) {		crm_debug("Creating a blank fragment");		update = createEmptyCib();		section = auto_section;	} else if(update == NULL) {		crm_err("No update to create a fragment for");		cib = createEmptyCib();		return NULL;			} else if(section == NULL) {		section = auto_section;	} else if(strcmp(auto_section, section) != 0) {		crm_err("Values for update (tag=%s) and section (%s)"			" were not consistent", crm_element_name(update), section);		crm_free(auto_section);		return NULL;			}	if(safe_str_eq(section, "all")	   && safe_str_eq(crm_element_name(update), XML_TAG_CIB)) {		whole_cib = TRUE;	}		set_xml_property_copy(fragment, XML_ATTR_SECTION, section);	if(whole_cib == FALSE) {		cib = createEmptyCib();		set_xml_property_copy(cib, "debug_source", source);		object_root = get_object_root(section, cib);		add_node_copy(object_root, update);		add_node_copy(fragment, cib);		free_xml(cib);		cib = find_xml_node(fragment, XML_TAG_CIB, TRUE);	} else {		add_node_copy(fragment, update);		cib = find_xml_node(fragment, XML_TAG_CIB, TRUE);		set_xml_property_copy(cib, "debug_source", source);	}		crm_free(auto_section);	crm_debug("Verifying created fragment");	if(verifyCibXml(cib) == FALSE) {		crm_err("Fragment creation failed");		crm_xml_err(update, "[src]");		crm_xml_err(fragment, "[created]");		free_xml(fragment);		fragment = NULL;	}		return fragment;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/48b78052477f9b639ae5a6ff443adc158dda43d4/cib_client.c/clean/lib/crm/cib/cib_client.c