From: Steve Brokenshire Date: Sat, 23 Jan 2016 13:34:01 +0000 (+0000) Subject: Improved checking for DTSTAMP and UID for ValidObject in CalendarEvent. X-Git-Tag: release-0.02~742 X-Git-Url: http://Server1/repobrowser/?a=commitdiff_plain;h=fec90573f31e407eb251fcc8a3a08ca89fa85f3b;p=xestiacalendar%2F.git Improved checking for DTSTAMP and UID for ValidObject in CalendarEvent. --- diff --git a/source/objects/calendarevent/CalendarEvent.cpp b/source/objects/calendarevent/CalendarEvent.cpp index 6c1887d..d175eed 100644 --- a/source/objects/calendarevent/CalendarEvent.cpp +++ b/source/objects/calendarevent/CalendarEvent.cpp @@ -9,6 +9,7 @@ CalendarObjectValidResult CalendarEventObject::ValidObject(){ bool ValidDateTimeStamp = false; bool ValidUniqueID = false; int SeekCount = 0; + string PropertyName; // Look for BEGIN:VEVENT. @@ -44,8 +45,16 @@ CalendarObjectValidResult CalendarEventObject::ValidObject(){ for (vector::iterator iter = ObjectName.begin(); iter != ObjectName.end(); iter++){ - - if (ObjectName[SeekCount] == "DTSTAMP"){ + + try{ + PropertyName = ObjectName[SeekCount].substr(0,7); + } + + catch(const out_of_range& oor){ + continue; + } + + if (PropertyName == "DTSTAMP"){ if (ValidDateTimeStamp == false){ ValidDateTimeStamp = true; @@ -66,7 +75,15 @@ CalendarObjectValidResult CalendarEventObject::ValidObject(){ for (vector::iterator iter = ObjectName.begin(); iter != ObjectName.end(); iter++){ - if (ObjectName[SeekCount] == "UID"){ + try{ + PropertyName = ObjectName[SeekCount].substr(0,3); + } + + catch(const out_of_range& oor){ + continue; + } + + if (PropertyName == "UID"){ if (ValidUniqueID == false){ ValidUniqueID = true;