X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fobjects%2Fcalendarobject%2FCalendarObject-Save.cpp;h=0d72b46d81d485b056cd84a264aeb444499ad5b2;hp=0cbe83ea1fecbcda76aa7ab059e1f281807168c5;hb=49789773e2797383c866dca470fb99e80cb49e41;hpb=a191ad71a0d6823b9710067c7cccf8905290dc9c diff --git a/source/objects/calendarobject/CalendarObject-Save.cpp b/source/objects/calendarobject/CalendarObject-Save.cpp index 0cbe83e..0d72b46 100644 --- a/source/objects/calendarobject/CalendarObject-Save.cpp +++ b/source/objects/calendarobject/CalendarObject-Save.cpp @@ -28,7 +28,25 @@ CalendarObjectSaveResult CalendarObject::SaveFile(string saveFilename){ // Open the file. +#ifndef WIN32 + fileStream.open(saveFilename, ofstream::out); + +#else + + wstring saveFilename_utf16; + + int len = MultiByteToWideChar(CP_UTF8, 0, &saveFilename[0], (int)saveFilename.size(), NULL, 0); + + if (len > 0) + { + saveFilename_utf16.resize(len); + MultiByteToWideChar(CP_UTF8, 0, &saveFilename[0], (int)saveFilename.size(), &saveFilename_utf16[0], len); + } + + fileStream.open(saveFilename_utf16, ofstream::out); + +#endif if (fileStream.rdstate() & ofstream::failbit){ return CALENDAROBJECTSAVE_CANNOTOPEN; @@ -45,8 +63,10 @@ CalendarObjectSaveResult CalendarObject::SaveFile(string saveFilename){ saveResult = SaveString(&saveStringData); - fileStream.write(saveStringData.c_str(), saveStringData.size()); + //fileStream.write(saveStringData.c_str(), saveStringData.size()); + fileStream << saveStringData.c_str(); + fileStream.close(); return saveResult;