aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b200/b200_iface.cpp
diff options
context:
space:
mode:
authorAshish Chaudhari <ashish@ettus.com>2015-03-30 16:56:01 -0700
committerAshish Chaudhari <ashish@ettus.com>2015-03-30 16:56:01 -0700
commit700bf99bdc483fdcc9deb54abc29bd7f81e16089 (patch)
tree42d4f30e7a4abc9e47dcd01300a2f44ab1b91510 /host/lib/usrp/b200/b200_iface.cpp
parent6a34824ad10eaa2d2b642b959f278f6c4e326d6d (diff)
parent61599b3eaadcc46ac8d24974176d7fd89778d06e (diff)
downloaduhd-700bf99bdc483fdcc9deb54abc29bd7f81e16089.tar.gz
uhd-700bf99bdc483fdcc9deb54abc29bd7f81e16089.tar.bz2
uhd-700bf99bdc483fdcc9deb54abc29bd7f81e16089.zip
Merge branch 'master' into ashish/vivado
Diffstat (limited to 'host/lib/usrp/b200/b200_iface.cpp')
-rw-r--r--host/lib/usrp/b200/b200_iface.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/host/lib/usrp/b200/b200_iface.cpp b/host/lib/usrp/b200/b200_iface.cpp
index 820090959..270d3bb4b 100644
--- a/host/lib/usrp/b200/b200_iface.cpp
+++ b/host/lib/usrp/b200/b200_iface.cpp
@@ -89,7 +89,7 @@ typedef boost::uint32_t hash_type;
* Create a file hash
* The hash will be used to identify the loaded firmware and fpga image
* \param filename file used to generate hash value
- * \return hash value in a size_t type
+ * \return hash value in a uint32_t type
*/
static hash_type generate_hash(const char *filename)
{
@@ -101,13 +101,15 @@ static hash_type generate_hash(const char *filename)
throw uhd::io_error(std::string("cannot open input file ") + filename);
}
- size_t hash = 0;
+ hash_type hash = 0;
char ch;
long long count = 0;
while (file.get(ch)) {
count++;
- boost::hash_combine(hash, ch);
+ //hash algorithm derived from boost hash_combine
+ //http://www.boost.org/doc/libs/1_35_0/doc/html/boost/hash_combine_id241013.html
+ hash ^= ch + 0x9e3779b9 + (hash<<6) + (hash>>2);
}
if (count == 0){
@@ -547,7 +549,7 @@ public:
size_t file_size = 0;
{
std::ifstream file(filename, std::ios::in | std::ios::binary | std::ios::ate);
- file_size = file.tellg();
+ file_size = size_t(file.tellg());
}
std::ifstream file;