1
Description: Fix FTBFS on 32-bit architectures
2
This patch changes the datatypes of some variables that were introduced
3
in version 1.5.2 from size_t to unsigned long long or unsigned long
4
in order to fix a FTBFS on 32-bit architectures.
5
Author: Graham Inggs <graham@nerve.org.za>
7
Last-Update: 2015-03-15
8
--- a/Common/StringUtil.h
9
+++ b/Common/StringUtil.h
14
-static inline size_t SIToBytes(std::istringstream& iss)
15
+static inline unsigned long long SIToBytes(std::istringstream& iss)
20
// no units given; clear fail flag
22
iss.clear(std::ios::eofbit);
23
- return (size_t)ceil(size);
24
+ return (unsigned long long)ceil(size);
27
if (units.size() > 1) {
30
switch(tolower(units[0])) {
32
- size *= (size_t)1<<10; break;
33
+ size *= (unsigned long long)1<<10; break;
35
- size *= (size_t)1<<20; break;
36
+ size *= (unsigned long long)1<<20; break;
38
- size *= (size_t)1<<30; break;
39
+ size *= (unsigned long long)1<<30; break;
41
- size *= (size_t)1<<40; break;
42
+ size *= (unsigned long long)1<<40; break;
44
iss.setstate(std::ios::failbit);
48
- return (size_t)ceil(size);
49
+ return (unsigned long long)ceil(size);
52
-static inline size_t SIToBytes(const std::string& str)
53
+static inline unsigned long long SIToBytes(const std::string& str)
55
std::istringstream iss(str);
56
return SIToBytes(iss);
62
size_t bits = endBitPos - startBitPos + 1;
63
- size_t bytes = (bits + 7) / 8;
64
+ unsigned long bytes = (bits + 7) / 8;
65
char buf[IO_BUFFER_SIZE];
66
for (size_t i = 0, j = 0; i < bytes;) {
67
- size_t writeSize = std::min(IO_BUFFER_SIZE, bytes - i);
68
+ unsigned long writeSize = std::min(IO_BUFFER_SIZE, bytes - i);
69
for (size_t k = 0; k < writeSize; k++) {
71
for (unsigned l = 0; l < 8; l++, j++) {
74
size_t offset = header.startBitPos;
75
size_t bits = header.endBitPos - header.startBitPos + 1;
76
- size_t bytes = (bits + 7) / 8;
77
+ unsigned long bytes = (bits + 7) / 8;
79
char buf[IO_BUFFER_SIZE];
80
for (size_t i = 0, j = offset; i < bytes; ) {
81
- size_t readSize = std::min(IO_BUFFER_SIZE, bytes - i);
82
+ unsigned long readSize = std::min(IO_BUFFER_SIZE, bytes - i);
83
in.read(buf, readSize);
85
for (size_t k = 0; k < readSize; k++) {