1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
diff -urNP truecrypt-5.0-source.org/Platform/StringConverter.cpp truecrypt-5.0-source/Platform/StringConverter.cpp
--- truecrypt-5.0-source.org/Platform/StringConverter.cpp 2008-02-04 13:14:18.000000000 +0200
+++ truecrypt-5.0-source/Platform/StringConverter.cpp 2008-02-09 21:38:23.000000000 +0200
@@ -32,12 +32,14 @@
return s.str();
}
+#if __WORDSIZE == 32
wstring StringConverter::FromNumber (int64 number)
{
wstringstream s;
s << number;
return s.str();
}
+#endif
wstring StringConverter::FromNumber (int number)
{
@@ -60,12 +62,14 @@
return s.str();
}
+#if __WORDSIZE == 32
wstring StringConverter::FromNumber (uint64 number)
{
wstringstream s;
s << number;
return s.str();
}
+#endif
string StringConverter::GetTrailingNumber (const string &str)
{
diff -urNP truecrypt-5.0-source.org/Platform/StringConverter.h truecrypt-5.0-source/Platform/StringConverter.h
--- truecrypt-5.0-source.org/Platform/StringConverter.h 2008-02-04 13:14:16.000000000 +0200
+++ truecrypt-5.0-source/Platform/StringConverter.h 2008-02-09 21:38:03.000000000 +0200
@@ -19,11 +19,15 @@
public:
static wstring FromNumber (double number);
static wstring FromNumber (int number);
+#if __WORDSIZE == 32
static wstring FromNumber (int64 number);
+#endif
static wstring FromNumber (long number);
static wstring FromNumber (unsigned int number);
static wstring FromNumber (unsigned long number);
+#if __WORDSIZE == 32
static wstring FromNumber (uint64 number);
+#endif
static string GetTrailingNumber (const string &str);
static string GetTypeName (const type_info &typeInfo);
static wstring QuoteSpaces (const wstring &str);
--- truecrypt-5.0-source.org/Platform/PlatformTest.cpp 2008-02-04 13:14:16.000000000 +0200
+++ truecrypt-5.0-source/Platform/PlatformTest.cpp 2008-02-09 21:49:15.000000000 +0200
@@ -270,7 +270,11 @@ namespace TrueCrypt
// shared_ptr, make_shared, StringConverter, foreach
list <shared_ptr <uint64> > numList;
+#if __WORDSIZE == 32
numList.push_front (make_shared <uint64> (StringConverter::ToUInt64 (StringConverter::FromNumber (0xFFFFffffFFFFfffeULL))));
+#else
+ numList.push_front (make_shared <uint64> (StringConverter::ToUInt64 (StringConverter::FromNumber (0xFFFFffffFFFFfffeUL))));
+#endif
numList.push_front (make_shared <uint64> (StringConverter::ToUInt32 (StringConverter::GetTrailingNumber ("str2"))));
numList.push_front (make_shared <uint64> (3));
--- truecrypt-5.0-source.org/Main/StringFormatter.h 2008-02-04 13:14:14.000000000 +0200
+++ truecrypt-5.0-source/Main/StringFormatter.h 2008-02-09 22:15:04.000000000 +0200
@@ -27,11 +27,15 @@ namespace TrueCrypt
StringFormatterArg (const wstring &str) : Empty (false), Referenced (false), StringArg (str) { }
StringFormatterArg (const wxString &str) : Empty (false), Referenced (false), StringArg (str) { }
StringFormatterArg (int number) : Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
+#if __WORDSIZE == 32
StringFormatterArg (int64 number) : Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
+#endif
StringFormatterArg (long number) : Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
StringFormatterArg (unsigned int number) : Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
StringFormatterArg (unsigned long number) : Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
+#if __WORDSIZE == 32
StringFormatterArg (uint64 number) : Empty (false), Referenced (false), StringArg (StringConverter::FromNumber (number)) { }
+#endif
operator wxString () { Referenced = true; return StringArg; }
--- truecrypt-5.0-source.org/Main/Forms/VolumeSizeWizardPage.cpp 2008-02-04 13:14:46.000000000 +0200
+++ truecrypt-5.0-source/Main/Forms/VolumeSizeWizardPage.cpp 2008-02-09 22:27:35.000000000 +0200
@@ -55,7 +55,7 @@ namespace TrueCrypt
{
uint64 prefixMult = 1;
if (VolumeSizePrefixChoice->GetSelection() != wxNOT_FOUND)
- prefixMult = reinterpret_cast <int> (VolumeSizePrefixChoice->GetClientData (VolumeSizePrefixChoice->GetSelection()));
+ prefixMult = reinterpret_cast <uint64> (VolumeSizePrefixChoice->GetClientData (VolumeSizePrefixChoice->GetSelection()));
uint64 val = StringConverter::ToUInt64 (wstring (VolumeSizeTextCtrl->GetValue()));
if (val <= 0x7fffFFFFffffFFFFull / prefixMult)
--- truecrypt-5.0a-source.org/Makefile 2008-02-04 20:19:02.000000000 +0200
+++ truecrypt-5.0a-source/Makefile 2008-02-13 19:47:58.000000000 +0200
@@ -42,8 +42,12 @@ export CFLAGS := -W
export CXXFLAGS := -Wall
C_CXX_FLAGS := -MMD -I$(BASE_DIR) -I$(BASE_DIR)/Crypto
C_CXX_FLAGS += -DBOOL=int -DFALSE=0 -DTRUE=1
+ifeq "$(origin USE64BIT)" "command line"
+C_CXX_FLAGS += -D__int8=char -D__int16=short -D__int32=int '-D__int64=long' # Tested in PlatformTest
+else
C_CXX_FLAGS += -D__int8=char -D__int16=short -D__int32=int '-D__int64=long long' # Tested in PlatformTest
+endif
export LFLAGS :=
export PKG_CONFIG_PATH ?= /usr/local/lib/pkgconfig
|