if(src == NULL) { cl_log(LOG_WARNING, "No node to copy properties from"); } else if (src->properties == NULL) { cl_log(LOG_INFO, "No properties to copy"); } else if (target == NULL) { cl_log(LOG_WARNING, "No node to copy properties into"); } else { #ifndef USE_BUGGY_LIBXML xmlAttrPtr prop_iter = NULL; FNIN();
copy_in_properties(xmlNodePtr src, xmlNodePtr target){#ifdef XML_TRACE	xmlAttrPtr prop_iter = NULL;	FNIN();	prop_iter = src->properties;	while(prop_iter != NULL) {		const char *local_prop_name = prop_iter->name;		const char *local_prop_value =			xmlGetProp(src, local_prop_name);				set_xml_property_copy(target,				      local_prop_name,				      local_prop_value);				prop_iter = prop_iter->next;			}		FNOUT();#else	xmlCopyPropList(target, src->properties);#endif}