X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fhash.h;h=5f6409cb135e71ef25ab9dfdefb36ad273673f78;hb=10a24935c9d382e4d85b05d9616843f3d3bb4983;hp=3f140381c36104ce22eb558e08a9ea75ab52d6a4;hpb=58fda1dab104041fc693032475ec4662c1a52849;p=sliver-openvswitch.git diff --git a/lib/hash.h b/lib/hash.h index 3f140381c..5f6409cb1 100644 --- a/lib/hash.h +++ b/lib/hash.h @@ -83,8 +83,11 @@ static inline uint32_t hash_boolean(bool x, uint32_t basis) static inline uint32_t hash_double(double x, uint32_t basis) { - BUILD_ASSERT_DECL(sizeof x == 8); - return hash_2words((const uint32_t *) &x, basis); + uint32_t value[2]; + BUILD_ASSERT_DECL(sizeof x == sizeof value); + + memcpy(value, &x, sizeof value); + return hash_2words(value, basis); } static inline uint32_t hash_pointer(const void *p, uint32_t basis)