diff options
Diffstat (limited to 'Swiften/Base')
-rw-r--r-- | Swiften/Base/BoostRandomGenerator.h | 3 | ||||
-rw-r--r-- | Swiften/Base/ByteArray.cpp | 5 | ||||
-rw-r--r-- | Swiften/Base/ByteArray.h | 4 | ||||
-rw-r--r-- | Swiften/Base/Override.h | 34 | ||||
-rw-r--r-- | Swiften/Base/SafeByteArray.h | 4 |
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) { |