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:
authorIgor Pavlov <ipavlov@users.sourceforge.net>2008-05-05 04:00:00 +0400
committerKornel LesiƄski <kornel@geekhood.net>2016-05-28 02:15:55 +0300
commit3901bf0ab88106a5b031cba7bc18d60cdebf7eef (patch)
tree808a2489abed822223b118b64e0553db80af6087 /CPP/Common
parentbd1fa36322ac27f5715433b388742893d6524516 (diff)
4.58 beta
Diffstat (limited to 'CPP/Common')
-rwxr-xr-xCPP/Common/CRC.cpp6
-rwxr-xr-xCPP/Common/ListFileUtils.cpp1
-rwxr-xr-xCPP/Common/StringConvert.cpp28
-rwxr-xr-xCPP/Common/StringConvert.h2
-rwxr-xr-xCPP/Common/Types.h50
5 files changed, 24 insertions, 63 deletions
diff --git a/CPP/Common/CRC.cpp b/CPP/Common/CRC.cpp
index b768128c..f151471b 100755
--- a/CPP/Common/CRC.cpp
+++ b/CPP/Common/CRC.cpp
@@ -7,8 +7,4 @@ extern "C"
#include "../../C/7zCrc.h"
}
-class CCRCTableInit
-{
-public:
- CCRCTableInit() { CrcGenerateTable(); }
-} g_CRCTableInit;
+struct CCRCTableInit { CCRCTableInit() { CrcGenerateTable(); } } g_CRCTableInit;
diff --git a/CPP/Common/ListFileUtils.cpp b/CPP/Common/ListFileUtils.cpp
index 4f8a9e59..cf03d324 100755
--- a/CPP/Common/ListFileUtils.cpp
+++ b/CPP/Common/ListFileUtils.cpp
@@ -2,6 +2,7 @@
#include "StdAfx.h"
+#include "MyWindows.h"
#include "../Windows/FileIO.h"
#include "ListFileUtils.h"
diff --git a/CPP/Common/StringConvert.cpp b/CPP/Common/StringConvert.cpp
index c0b19e16..762efd8d 100755
--- a/CPP/Common/StringConvert.cpp
+++ b/CPP/Common/StringConvert.cpp
@@ -26,23 +26,31 @@ UString MultiByteToUnicodeString(const AString &srcString, UINT codePage)
return resultString;
}
-AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage)
+AString UnicodeStringToMultiByte(const UString &s, UINT codePage, char defaultChar, bool &defaultCharWasUsed)
{
- AString resultString;
- if(!srcString.IsEmpty())
+ AString dest;
+ defaultCharWasUsed = false;
+ if (!s.IsEmpty())
{
- int numRequiredBytes = srcString.Length() * 2;
- char defaultChar = '_';
- int numChars = WideCharToMultiByte(codePage, 0, srcString,
- srcString.Length(), resultString.GetBuffer(numRequiredBytes),
- numRequiredBytes + 1, &defaultChar, NULL);
+ int numRequiredBytes = s.Length() * 2;
+ BOOL defUsed;
+ int numChars = WideCharToMultiByte(codePage, 0, s, s.Length(),
+ dest.GetBuffer(numRequiredBytes), numRequiredBytes + 1,
+ &defaultChar, &defUsed);
+ defaultCharWasUsed = (defUsed != FALSE);
#ifndef _WIN32_WCE
if(numChars == 0)
throw 282229;
#endif
- resultString.ReleaseBuffer(numChars);
+ dest.ReleaseBuffer(numChars);
}
- return resultString;
+ return dest;
+}
+
+AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage)
+{
+ bool defaultCharWasUsed;
+ return UnicodeStringToMultiByte(srcString, codePage, '_', defaultCharWasUsed);
}
#ifndef _WIN32_WCE
diff --git a/CPP/Common/StringConvert.h b/CPP/Common/StringConvert.h
index 32d8a3a1..0c37eb07 100755
--- a/CPP/Common/StringConvert.h
+++ b/CPP/Common/StringConvert.h
@@ -8,8 +8,10 @@
#include "Types.h"
UString MultiByteToUnicodeString(const AString &srcString, UINT codePage = CP_ACP);
+AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage, char defaultChar, bool &defaultCharWasUsed);
AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage = CP_ACP);
+
inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString)
{ return unicodeString; }
inline const UString& GetUnicodeString(const UString &unicodeString)
diff --git a/CPP/Common/Types.h b/CPP/Common/Types.h
index 41d785e9..9365b327 100755
--- a/CPP/Common/Types.h
+++ b/CPP/Common/Types.h
@@ -3,55 +3,9 @@
#ifndef __COMMON_TYPES_H
#define __COMMON_TYPES_H
-#ifndef _7ZIP_BYTE_DEFINED
-#define _7ZIP_BYTE_DEFINED
-typedef unsigned char Byte;
-#endif
+#include "../../C/Types.h"
-#ifndef _7ZIP_INT16_DEFINED
-#define _7ZIP_INT16_DEFINED
-typedef short Int16;
-#endif
-
-#ifndef _7ZIP_UINT16_DEFINED
-#define _7ZIP_UINT16_DEFINED
-typedef unsigned short UInt16;
-#endif
-
-#ifndef _7ZIP_INT32_DEFINED
-#define _7ZIP_INT32_DEFINED
-typedef int Int32;
-#endif
-
-#ifndef _7ZIP_UINT32_DEFINED
-#define _7ZIP_UINT32_DEFINED
-typedef unsigned int UInt32;
-#endif
-
-#ifdef _MSC_VER
-
-#ifndef _7ZIP_INT64_DEFINED
-#define _7ZIP_INT64_DEFINED
-typedef __int64 Int64;
-#endif
-
-#ifndef _7ZIP_UINT64_DEFINED
-#define _7ZIP_UINT64_DEFINED
-typedef unsigned __int64 UInt64;
-#endif
-
-#else
-
-#ifndef _7ZIP_INT64_DEFINED
-#define _7ZIP_INT64_DEFINED
-typedef long long int Int64;
-#endif
-
-#ifndef _7ZIP_UINT64_DEFINED
-#define _7ZIP_UINT64_DEFINED
-typedef unsigned long long int UInt64;
-#endif
+typedef int HRes;
#endif
-#endif