Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Check for quote and go in and out of Quote mode as needed.
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sun, 24 Jan 2016 09:23:34 +0000 (09:23 +0000)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sun, 24 Jan 2016 09:23:34 +0000 (09:23 +0000)
source/objects/calendarobject/CalendarObject.cpp

index aecb136..ab21f14 100644 (file)
@@ -52,6 +52,7 @@ CalendarObjectLoadResult CalendarObject::LoadString(std::string *LoadStringData)
        bool NewLine = false;
        bool SkipMode = false;
        bool ColonFound = false;
+       bool QuoteMode = false;
        char BufferChar = 0;
        int StringDataSize = LoadStringData->size();
        int SeekCount = 0;
@@ -73,6 +74,22 @@ CalendarObjectLoadResult CalendarObject::LoadString(std::string *LoadStringData)
 
                        NewLine = false;
                                
+               } else if ((*LoadStringData)[SeekCount] == '\"'){
+                       
+                       if (QuoteMode == false){
+                               QuoteMode = true;
+                       } else {
+                               QuoteMode = false;
+                       }
+                       
+                       BufferChar = (*LoadStringData)[SeekCount];
+                       
+                       if (ColonFound == false){
+                               PropertyName += BufferChar;
+                       } else {
+                               PropertyValue += BufferChar;
+                       }
+                       
                } else if (NewLine == true){
                
                        // Character is on a new line but not a space or
@@ -100,7 +117,8 @@ CalendarObjectLoadResult CalendarObject::LoadString(std::string *LoadStringData)
                        
                        NewLine = true;
                        
-               } else if ((*LoadStringData)[SeekCount] == ':'){
+               } else if ((*LoadStringData)[SeekCount] == ':' &&
+                               QuoteMode == false){
                
                        // Character is the colon. Set the colon
                        // found boolen to true.
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy