apicompatanamdw/compatanalysercmd/headeranalyser/src/XMLUtils.cpp
changeset 12 a0eee409ff14
parent 0 638b9c697799
equal deleted inserted replaced
11:bdd2944b914b 12:a0eee409ff14
  1388             HANodeIterator newbaseline(baseline);
  1388             HANodeIterator newbaseline(baseline);
  1389             HANodeIterator newcurrent(current);
  1389             HANodeIterator newcurrent(current);
  1390             bool ret1=newbaseline.FindNodeById(baselineid);
  1390             bool ret1=newbaseline.FindNodeById(baselineid);
  1391             bool ret2=newcurrent.FindNodeById(currentid);
  1391             bool ret2=newcurrent.FindNodeById(currentid);
  1392             assert(ret1 && ret2);
  1392             assert(ret1 && ret2);
  1393             string baselinetype = GetTypeName(newbaseline);
  1393 			
  1394             string currenttype = GetTypeName(newcurrent);
  1394 			string baselinetype = GetActualTypeName(newbaseline);
       
  1395             string currenttype = GetActualTypeName(newcurrent);
  1395 
  1396 
  1396             // Test if either of the types is incomplete.
  1397             // Test if either of the types is incomplete.
  1397             // If either one is incomplete, the size and alignment
  1398             // If either one is incomplete, the size and alignment
  1398             // does not match. We don't check the size and alignment
  1399             // does not match. We don't check the size and alignment
  1399             // for incomplete types, since the actual types are 
  1400             // for incomplete types, since the actual types are 
  2453         *it = tolower((unsigned char)*it);
  2454         *it = tolower((unsigned char)*it);
  2454     }
  2455     }
  2455 #endif
  2456 #endif
  2456     return name;
  2457     return name;
  2457 }
  2458 }
       
  2459 
       
  2460 const XMLCh* GetActualTypeValue(const HANodeIterator& node)
       
  2461 {
       
  2462 	const XMLCh* retVal = 0;
       
  2463 	if (Equals(node->getNodeName(),KXMLTypedefString))
       
  2464 	{
       
  2465 		HANodeIterator typeMethod(node);
       
  2466 		bool ret = typeMethod.FindNodeById(node.GetAttribute(KXMLTypeString));
       
  2467         return GetActualTypeValue(typeMethod);
       
  2468 	}
       
  2469 	else
       
  2470 		retVal = node.GetAttribute(KXMLNameString);
       
  2471 
       
  2472 	return retVal;
       
  2473 }
       
  2474 
       
  2475 string GetActualTypeName(const HANodeIterator& node)
       
  2476 {
       
  2477 	string name;
       
  2478 	if (Equals(node->getNodeName(),KXMLTypedefString))
       
  2479 	{
       
  2480 		HANodeIterator typeMethod(node);
       
  2481 		bool ret = typeMethod.FindNodeById(node.GetAttribute(KXMLTypeString));
       
  2482         return GetActualTypeName(typeMethod);
       
  2483 	}
       
  2484 	else
       
  2485 		name = GetTypeName(node);
       
  2486 
       
  2487 
       
  2488 	return name;
       
  2489 }