Index: src/libchcore/ConfigNodeContainer.cpp =================================================================== diff -u -N -r7c79146c750dfd74b7bdc9f01e51921a91596a75 -r2fe97a93f21771d75901d4b6559057d1ea055104 --- src/libchcore/ConfigNodeContainer.cpp (.../ConfigNodeContainer.cpp) (revision 7c79146c750dfd74b7bdc9f01e51921a91596a75) +++ src/libchcore/ConfigNodeContainer.cpp (.../ConfigNodeContainer.cpp) (revision 2fe97a93f21771d75901d4b6559057d1ea055104) @@ -236,7 +236,7 @@ for(NodeContainer::const_iterator iter = m_mic.begin(); iter != m_mic.end(); ++iter) { - if(iter->m_strNodeName.Get().StartsWith(strReplace)) + if(iter->m_strNodeName.Get().StartsWith(strReplace.c_str())) { bFound = true; @@ -263,7 +263,7 @@ for(NodeContainer::const_iterator iter = m_mic.begin(); iter != m_mic.end(); ++iter) { - if(iter->m_strNodeName.Get().StartsWith(strReplace)) + if(iter->m_strNodeName.Get().StartsWith(strReplace.c_str())) { bFound = true; @@ -303,7 +303,7 @@ for(NodeContainer::const_iterator iter = m_mic.begin(); iter != m_mic.end(); ++iter) { - if(iter->m_strNodeName.Get().StartsWith(strSearch)) + if(iter->m_strNodeName.Get().StartsWith(strSearch.c_str())) { setExistingNames.insert(std::make_pair(iter->m_strNodeName.Get(), iter->m_iOrder)); } @@ -355,14 +355,14 @@ for(NodeContainer::const_iterator iter = m_mic.begin(); iter != m_mic.end(); ++iter) { TString strCurrentNode = iter->m_strNodeName.Get(); - if(strCurrentNode.StartsWith(strSearch)) + if(strCurrentNode.StartsWith(strSearch.c_str())) { strCurrentNode.MidSelf(strSearch.GetLength()); size_t stPos = strCurrentNode.Find(_T("]")); if(stPos == std::numeric_limits::max()) THROW_CORE_EXCEPTION(eErr_InvalidData); - size_t stNumber = boost::lexical_cast(strCurrentNode.Left(stPos)); + size_t stNumber = boost::lexical_cast(strCurrentNode.Left(stPos).c_str()); stMaxNodeNumber = std::max(stMaxNodeNumber, stNumber + 1); } } @@ -480,66 +480,57 @@ size_t stLastBracketID = std::numeric_limits::max(); TString strGroupNode; - TCHAR szData[1024]; -szData; boost::property_tree::wiptree treeSubnodes; - int iNode = 0; -iNode; boost::shared_lock lock(m_lock); for(NodeContainer::const_iterator iter = m_mic.begin(); iter != m_mic.end(); ++iter) { const TString& rNodeName = iter->m_strNodeName.Get(); - // tmp - //_sntprintf_s(szData, 1024, _TRUNCATE, _T("ExportToPropertyTree (%ld): %s\n"), iNode++, (PCTSTR)rNodeName); -// OutputDebugString(szData); - // /tmp - TString strNodeName = rNodeName; size_t stBracketPos = strNodeName.Find(_T("[")); if(stBracketPos != TString::npos) { // there is a bracket in the node name - this element is a part of a hierarchy of similar nodes - size_t stSecondBracketPos = strNodeName.Find(_T("["), stBracketPos + 1); + size_t stSecondBracketPos = strNodeName.Find(_T("]"), stBracketPos + 1); if(stSecondBracketPos == TString::npos) THROW_CORE_EXCEPTION(eErr_InvalidData); strGroupNode = strNodeName.Left(stBracketPos); TString strSubnodeName = strNodeName.Mid(stSecondBracketPos + 1); - size_t stBracketID = boost::lexical_cast(strNodeName.Mid(stBracketPos, stSecondBracketPos - stBracketPos - 1)); + size_t stBracketID = boost::lexical_cast(strNodeName.Mid(stBracketPos + 1, stSecondBracketPos - stBracketPos - 1)); if(stBracketID != stLastBracketID) { // new ID - add new property tree node if(!treeSubnodes.empty()) { - rTree.add_child((PCTSTR)strGroupNode, treeSubnodes); + rTree.add_child(strGroupNode.c_str(), treeSubnodes); treeSubnodes.clear(); } } // same ID - add new element to existing property tree node - treeSubnodes.put((PCTSTR)strSubnodeName, iter->m_strValue); + treeSubnodes.put(strSubnodeName.c_str(), iter->m_strValue); } else { // add the subnodes from previous bracket-based entries if(!treeSubnodes.empty()) { - rTree.add_child((PCTSTR)strGroupNode, treeSubnodes); + rTree.add_child(strGroupNode.c_str(), treeSubnodes); treeSubnodes.clear(); } // no bracket in the node name - this is just a standard entry - rTree.add((PCTSTR)strNodeName, iter->m_strValue); + rTree.add(strNodeName.c_str(), iter->m_strValue); } } // add the last subnode if not empty if(!treeSubnodes.empty()) - rTree.add_child((PCTSTR)strGroupNode, treeSubnodes); + rTree.add_child(strGroupNode.c_str(), treeSubnodes); } void ConfigNodeContainer::Dump() @@ -549,7 +540,7 @@ for(NodeContainer::const_iterator iter = m_mic.begin(); iter != m_mic.end(); ++iter) { - _sntprintf_s(szBuffer, stBufferSize, _TRUNCATE, _T("Node (oid %Iu): %s.%ld = %s\n"), iter->m_stObjectID, (PCTSTR)iter->m_strNodeName.Get(), iter->m_iOrder.Get(), (PCTSTR)iter->m_strValue.Get()); + _sntprintf_s(szBuffer, stBufferSize, _TRUNCATE, _T("Node (oid %Iu): %s.%ld = %s\n"), iter->m_stObjectID, iter->m_strNodeName.Get().c_str(), iter->m_iOrder.Get(), iter->m_strValue.Get().c_str()); OutputDebugString(szBuffer); } }