diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2008-05-05 04:00:00 +0400 |
---|---|---|
committer | Kornel LesiĆski <kornel@geekhood.net> | 2016-05-28 02:15:55 +0300 |
commit | 3901bf0ab88106a5b031cba7bc18d60cdebf7eef (patch) | |
tree | 808a2489abed822223b118b64e0553db80af6087 /CPP/Common | |
parent | bd1fa36322ac27f5715433b388742893d6524516 (diff) |
4.58 beta
Diffstat (limited to 'CPP/Common')
-rwxr-xr-x | CPP/Common/CRC.cpp | 6 | ||||
-rwxr-xr-x | CPP/Common/ListFileUtils.cpp | 1 | ||||
-rwxr-xr-x | CPP/Common/StringConvert.cpp | 28 | ||||
-rwxr-xr-x | CPP/Common/StringConvert.h | 2 | ||||
-rwxr-xr-x | CPP/Common/Types.h | 50 |
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 |