summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Base')
-rw-r--r--Swiften/Base/BoostRandomGenerator.h3
-rw-r--r--Swiften/Base/ByteArray.cpp5
-rw-r--r--Swiften/Base/ByteArray.h4
-rw-r--r--Swiften/Base/Override.h34
-rw-r--r--Swiften/Base/SafeByteArray.h4
5 files changed, 43 insertions, 7 deletions
diff --git a/Swiften/Base/BoostRandomGenerator.h b/Swiften/Base/BoostRandomGenerator.h
index b5a6cac..6065ff3 100644
--- a/Swiften/Base/BoostRandomGenerator.h
+++ b/Swiften/Base/BoostRandomGenerator.h
@@ -7,6 +7,7 @@
#pragma once
#include <Swiften/Base/RandomGenerator.h>
+#include <Swiften/Base/Override.h>
#include <boost/random/mersenne_twister.hpp>
@@ -15,7 +16,7 @@ namespace Swift {
public:
BoostRandomGenerator();
- int generateRandomInteger(int max);
+ int generateRandomInteger(int max) SWIFTEN_OVERRIDE;
private:
boost::mt19937 generator;
diff --git a/Swiften/Base/ByteArray.cpp b/Swiften/Base/ByteArray.cpp
index 6be96aa..d6b5c97 100644
--- a/Swiften/Base/ByteArray.cpp
+++ b/Swiften/Base/ByteArray.cpp
@@ -1,11 +1,12 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2013 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#include <Swiften/Base/ByteArray.h>
+#include <boost/numeric/conversion/cast.hpp>
#include <fstream>
namespace Swift {
@@ -18,7 +19,7 @@ void readByteArrayFromFile(ByteArray& data, const std::string& file) {
size_t oldSize = data.size();
data.resize(oldSize + BUFFER_SIZE);
input.read(reinterpret_cast<char*>(&data[oldSize]), BUFFER_SIZE);
- data.resize(oldSize + input.gcount());
+ data.resize(oldSize + boost::numeric_cast<size_t>(input.gcount()));
}
input.close();
}
diff --git a/Swiften/Base/ByteArray.h b/Swiften/Base/ByteArray.h
index 34b89d3..8688aab 100644
--- a/Swiften/Base/ByteArray.h
+++ b/Swiften/Base/ByteArray.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2013 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
@@ -26,7 +26,7 @@ namespace Swift {
}
inline ByteArray createByteArray(char c) {
- return std::vector<unsigned char>(1, c);
+ return std::vector<unsigned char>(1, static_cast<unsigned char>(c));
}
template<typename T, typename A>
diff --git a/Swiften/Base/Override.h b/Swiften/Base/Override.h
new file mode 100644
index 0000000..7f410cf
--- /dev/null
+++ b/Swiften/Base/Override.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2012 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#if defined(__clang__)
+# if __has_feature(cxx_override_control) || __has_extension(cxx_override_control)
+# define SWIFTEN_OVERRIDE override
+# else
+# define SWIFTEN_OVERRIDE
+# endif
+
+#elif defined(__GNUC__)
+# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))
+# define SWIFTEN_OVERRIDE override
+# else
+# define SWIFTEN_OVERRIDE
+# endif
+
+#elif defined(_MSC_VER)
+// Actually, 1700 is the first version that supports the C++11 override, but
+// older versions apparently support a similar keyword.
+# if _MSC_VER >= 1400
+# define SWIFTEN_OVERRIDE override
+# else
+# define SWIFTEN_OVERRIDE
+# endif
+
+#else
+# define SWIFTEN_OVERRIDE
+#endif
diff --git a/Swiften/Base/SafeByteArray.h b/Swiften/Base/SafeByteArray.h
index dda51fe..b85373c 100644
--- a/Swiften/Base/SafeByteArray.h
+++ b/Swiften/Base/SafeByteArray.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011 Remko Tronçon
+ * Copyright (c) 2011-2013 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
@@ -31,7 +31,7 @@ namespace Swift {
}
inline SafeByteArray createSafeByteArray(char c) {
- return SafeByteArray(1, c);
+ return SafeByteArray(1, static_cast<unsigned char>(c));
}
inline SafeByteArray createSafeByteArray(const char* c, size_t n) {