Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Common/StringConvert.cpp')
-rwxr-xr-xCommon/StringConvert.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/Common/StringConvert.cpp b/Common/StringConvert.cpp
index 961c8454..d6d05d6c 100755
--- a/Common/StringConvert.cpp
+++ b/Common/StringConvert.cpp
@@ -4,7 +4,11 @@
#include "StringConvert.h"
-#ifdef WIN32
+#ifndef _WIN32
+#include <stdlib.h>
+#endif
+
+#ifdef _WIN32
UString MultiByteToUnicodeString(const AString &srcString, UINT codePage)
{
UString resultString;
@@ -57,6 +61,14 @@ UString MultiByteToUnicodeString(const AString &srcString, UINT codePage)
UString resultString;
for (int i = 0; i < srcString.Length(); i++)
resultString += wchar_t(srcString[i]);
+ /*
+ if(!srcString.IsEmpty())
+ {
+ int numChars = mbstowcs(resultString.GetBuffer(srcString.Length()), srcString, srcString.Length() + 1);
+ if (numChars < 0) throw "Your environment does not support UNICODE";
+ resultString.ReleaseBuffer(numChars);
+ }
+ */
return resultString;
}
@@ -65,7 +77,17 @@ AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage)
AString resultString;
for (int i = 0; i < srcString.Length(); i++)
resultString += char(srcString[i]);
+ /*
+ if(!srcString.IsEmpty())
+ {
+ int numRequiredBytes = srcString.Length() * 6 + 1;
+ int numChars = wcstombs(resultString.GetBuffer(numRequiredBytes), srcString, numRequiredBytes);
+ if (numChars < 0) throw "Your environment does not support UNICODE";
+ resultString.ReleaseBuffer(numChars);
+ }
+ */
return resultString;
}
-#endif \ No newline at end of file
+#endif
+