BOOL COptions::SaveSpeedLimits(TiXmlElement* pSettings) { TiXmlElement* pSpeedLimits; while ((pSpeedLimits = pSettings->FirstChildElement("SpeedLimits"))) pSettings->RemoveChild(pSpeedLimits); pSpeedLimits = pSettings->LinkEndChild(new TiXmlElement("SpeedLimits"))->ToElement(); const char* names[] = { "Download", "Upload" }; for (int i = 0; i < 2; i++) { TiXmlElement* pSpeedLimit = new TiXmlElement(names[i]); pSpeedLimits->LinkEndChild(pSpeedLimit); for (unsigned int j = 0; j < m_sSpeedLimits[i].size(); j++) { CSpeedLimit limit = m_sSpeedLimits[i][j]; TiXmlElement* pRule = pSpeedLimit->LinkEndChild(new TiXmlElement("Rule"))->ToElement(); limit.Save(pRule); } } return TRUE; }