firefox/mozilla-885002.patch

31 lines
878 B
Diff

# HG changeset patch
# Parent d8fd5706493e19bcb85443316a4c180849f5d247
# User Steve Singer <steve@ssinger.info>
Bug 885002 - Fix casting on 64 bit Big Endian platforms.
diff --git a/content/media/FileBlockCache.h b/content/media/FileBlockCache.h
--- a/content/media/FileBlockCache.h
+++ b/content/media/FileBlockCache.h
@@ -138,19 +138,17 @@ public:
bool IsEmpty() {
return nsDeque::GetSize() == 0;
}
private:
int32_t ObjectAt(int32_t aIndex) {
void* v = nsDeque::ObjectAt(aIndex);
- // Ugly hack to work around "casting 64bit void* to 32bit int loses precision"
- // error on 64bit Linux.
- return *(reinterpret_cast<int32_t*>(&v));
+ return reinterpret_cast<uintptr_t>(v);
}
};
private:
int64_t BlockIndexToOffset(int32_t aBlockIndex) {
return static_cast<int64_t>(aBlockIndex) * BLOCK_SIZE;
}