From b1e4f8149b7cc8760fb487ccf96b7986ab169b16 Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Mon, 28 Dec 2015 05:13:55 +0000 Subject: [PATCH] Replaced string processing in FBURL with ProcessStringValue. --- source/contacteditor/ContactDataObject.cpp | 45 ++++++++-------------- 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/source/contacteditor/ContactDataObject.cpp b/source/contacteditor/ContactDataObject.cpp index a4339f6..8467edf 100644 --- a/source/contacteditor/ContactDataObject.cpp +++ b/source/contacteditor/ContactDataObject.cpp @@ -4826,6 +4826,7 @@ void ContactDataObject::ProcessCalendarFreeBusy(wxString PropertySeg1, wxString CheckType(&PropertySeg1, &SplitPoints, &SplitLength, &intPrevValue, &PropType); intPrevValue = 6; + bool PropertyMatched = FALSE; for (std::map::iterator intiter = SplitPoints.begin(); intiter != SplitPoints.end(); ++intiter){ @@ -4859,42 +4860,28 @@ void ContactDataObject::ProcessCalendarFreeBusy(wxString PropertySeg1, wxString CaptureString(&PropertyValue, FALSE); - if (PropertyName == wxT("ALTID")){ - - FreeBusyListAltID.erase(*FreeBusyAddressCount); - FreeBusyListAltID.insert(std::make_pair(*FreeBusyAddressCount, PropertyValue)); + ProcessStringValue(&PropertyName, "ALTID", &FreeBusyListAltID, &PropertyValue, FreeBusyAddressCount, &PropertyMatched); + ProcessStringValue(&PropertyName, "PID", &FreeBusyListPID, &PropertyValue, FreeBusyAddressCount, &PropertyMatched); + ProcessStringValue(&PropertyName, "MEDIATYPE", &FreeBusyListMediatype, &PropertyValue, FreeBusyAddressCount, &PropertyMatched); + ProcessIntegerValue(&PropertyName, "PREF", &FreeBusyListPref, &PropertyValue, FreeBusyAddressCount, &PropertyMatched); - } else if (PropertyName == wxT("PID")){ - - FreeBusyListPID.erase(*FreeBusyAddressCount); - FreeBusyListPID.insert(std::make_pair(*FreeBusyAddressCount, PropertyValue)); - - } else if (PropertyName == wxT("PREF")){ - - ProcessIntegerValue(&FreeBusyListPref, &PropertyValue, FreeBusyAddressCount); + if (PropertyMatched == TRUE){ - } else if (PropertyName == wxT("MEDIATYPE")){ + PropertyMatched = FALSE; + continue; - FreeBusyListMediatype.erase(*FreeBusyAddressCount); - FreeBusyListMediatype.insert(std::make_pair(*FreeBusyAddressCount, PropertyValue)); + } - } else { + if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ - // Something else we don't know about so append - // to the tokens variable. + if (FirstToken == TRUE){ - if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ + PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); + FirstToken = FALSE; - if (FirstToken == TRUE){ - - PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); - FirstToken = FALSE; - - } else { - - PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); - - } + } else { + + PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); } -- 2.39.5