1
0
mirror of https://github.com/janet-lang/janet synced 2024-12-25 07:50:27 +00:00

Correct behavior on 32 bit architecture when hashing pointers.

This commit is contained in:
bakpakin 2017-07-09 13:09:20 -04:00
parent eef8a42ae7
commit 325059203d

View File

@ -77,7 +77,13 @@ uint32_t gst_hash(GstValue x) {
hash = gst_struct_hash(x.data.st);
break;
default:
hash = x.data.dwords[0] ^ x.data.dwords[1];
if (sizeof(double) == sizeof(void *)) {
/* Assuming 8 byte pointer */
hash = x.data.dwords[0] ^ x.data.dwords[1];
} else {
/* Assuming 4 byte pointer (or smaller) */
hash = (uint32_t) x.data.pointer;
}
break;
}
return hash;