Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Updated/Added copyright header and licensing to all source files
[xestiacalendar/.git] / source / common / text.cpp
index d223993..03eb88d 100644 (file)
@@ -1,3 +1,21 @@
+// text.cpp - Text functions.
+//
+// (c) 2016-2017 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// Xestia Calendar is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Calendar is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
+
 #include "text.h"
 
 using namespace std;
@@ -256,4 +274,92 @@ bool HexToInt(std::string *HexString, int *Number){
        
        return true;
        
+}
+
+bool IntToHex(int *Number, std::string *HexString, int HexFill){
+       
+       stringstream StringData;
+       StringData << setfill('0') << hex << setw(HexFill) << (*Number);
+       (*HexString) = StringData.str();
+       
+       return true;
+       
+}
+
+void SplitPathFilename(string *CalendarEntryHREF, string *EntryURIPath, 
+       string *EntryFilename){
+       
+       // Look for the last forward slash.
+               
+       int LastForwardSlash = -1;
+       int CharSeek = 0;
+       string StringIterChar = "";
+               
+       for (string::iterator StringIter = CalendarEntryHREF->begin();
+               StringIter != CalendarEntryHREF->end(); StringIter++){
+               
+               StringIterChar = *StringIter;
+                       
+               if (StringIterChar == "/"){
+                       LastForwardSlash = CharSeek;
+               }
+               
+               CharSeek++;
+                       
+       }
+       
+       if (LastForwardSlash == -1){
+               
+               return;
+               
+       }
+       
+       // Get the string before the last hash for the path.
+       
+       (*EntryURIPath) = CalendarEntryHREF->substr(0, (LastForwardSlash + 1));
+       
+       // Get the string after the last hash for the filename.
+       
+       (*EntryFilename) = CalendarEntryHREF->substr((LastForwardSlash + 1));
+               
+}
+
+string OutputText(string *TextInput){
+       
+       string OutputTextData;
+       string OutputLine;
+       int CharSeek = 0;
+       int LineSeek = 0;
+       int MaxLineSeek = 77;
+       
+       for (CharSeek = 0; CharSeek < TextInput->size(); CharSeek++){
+               
+               LineSeek++;
+               
+               if (LineSeek == MaxLineSeek){
+
+                       if (TextInput->substr(CharSeek, 1) != "\n"){
+                               OutputLine += TextInput->substr(CharSeek, 1);
+                       }
+                       OutputLine += "\n";
+                       OutputTextData += OutputLine;
+                       OutputLine = " ";
+                       LineSeek = 0;
+                       MaxLineSeek = 76;
+                       continue;
+                       
+               }
+               
+               OutputLine += TextInput->substr(CharSeek, 1);
+               
+       }
+
+       if (OutputLine != " "){
+       
+               OutputTextData += OutputLine;
+               
+       }
+       
+       return OutputTextData;
+       
 }
\ No newline at end of file
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