cib_object = xmlDocGetRootElement(doc);  xml_message_debug(cib_object, "Created fragment"); 
handleCibMod(void){	char ch = 0;	gboolean more = TRUE;	gboolean inTag = FALSE;	xmlBufferPtr xml_buffer = xmlBufferCreate();		while (more) {		ch = fgetc(stdin);//		cl_log(LOG_DEBUG, "Got [%c]", ch);		switch(ch) {			case EOF: 			case 0:				ch = 0;				more = FALSE; 				xmlBufferAdd(xml_buffer, &ch, 1);				break;			case '>':			case '<':				inTag = TRUE;				if(ch == '>') inTag = FALSE;				xmlBufferAdd(xml_buffer, &ch, 1);				break;			case '\n':			case '\t':			case ' ':				ch = ' ';				if(inTag) {					xmlBufferAdd(xml_buffer, &ch, 1);				} 				break;			default:				xmlBufferAdd(xml_buffer, &ch, 1);				break;		}	}		xmlNodePtr cib_object = NULL;	const char *the_xml = xmlBufferContent(xml_buffer);	xmlDocPtr doc = xmlParseMemory(the_xml, strlen(the_xml));	if (doc == NULL) {		cl_log(LOG_ERR, "Malformed XML [xml=%s]", the_xml);		return NULL;	}	cib_object = xmlDocGetRootElement(doc);	xml_message_debug(cib_object, "Created fragment");		if(strcmp(cib_object->name, obj_type) != 0) {		cl_log(LOG_ERR, "Mismatching xml."		       "  Expected root element <%s>, got <%s>",		       obj_type, cib_object->name);		return NULL;	}	const char *attr_name = NULL;	const char *attr_value = NULL;	attr_name = XML_ATTR_ID;		attr_value = xmlGetProp(cib_object, attr_name);	if(attr_name == NULL || strlen(attr_name) == 0) {		cl_log(LOG_ERR, "No value for %s specified.", attr_name);		return NULL;	}		CRM_DEBUG("Object creation complete");	// create the cib request	xmlNodePtr fragment = NULL;	fragment = create_cib_fragment(cib_object, NULL);	set_xml_property_copy(msg_options, XML_ATTR_OP, cib_action);	return fragment;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/b7bf0ae646fdcb0de4424bb583055aad83f8cd30/adminmain.c/clean/crm/admin/adminmain.c