// Check if the file exists and return
// CALENDAROBJECTLOAD_CANNOTOPEN if not.
- if (!FileExists(loadFilename)){
- return CALENDAROBJECTLOAD_MISSING;
- }
-
ifstream fileStream;
string receivedStringData = "";
+#ifndef WIN32
+
+ if (!FileExists(loadFilename)) {
+ return CALENDAROBJECTLOAD_MISSING;
+ }
+
fileStream.open(loadFilename, ifstream::in);
-
+
+#else
+
+ wstring loadFilename_utf16;
+
+ int len = MultiByteToWideChar(CP_UTF8, 0, &loadFilename[0], (int)loadFilename.size(), NULL, 0);
+
+ if (len > 0)
+ {
+ loadFilename_utf16.resize(len);
+ MultiByteToWideChar(CP_UTF8, 0, &loadFilename[0], (int)loadFilename.size(), &loadFilename_utf16[0], len);
+ }
+
+ if (!FileExists(loadFilename_utf16)) {
+ return CALENDAROBJECTLOAD_MISSING;
+ }
+
+ fileStream.open(loadFilename_utf16, ifstream::in);
+
+#endif
+
if (fileStream.rdstate() & ifstream::failbit){
return CALENDAROBJECTLOAD_CANNOTOPEN;
}