diff options
-rw-r--r-- | src/pugixml.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp index f4c1af1..bf3346b 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -852,7 +852,7 @@ PUGI__NS_BEGIN { uintptr_t base = reinterpret_cast<uintptr_t>(this) & ~(compact_alignment - 1); - return reinterpret_cast<T*>(base + ((_data - 1 + start) << compact_alignment_log2)); + return reinterpret_cast<T*>(base + (_data - 1 + start) * compact_alignment); } else return compact_get_value<header_offset, T>(this); @@ -930,7 +930,7 @@ PUGI__NS_BEGIN { uintptr_t base = reinterpret_cast<uintptr_t>(this) & ~(compact_alignment - 1); - return reinterpret_cast<T*>(base + ((_data - 1 - 65533) << compact_alignment_log2)); + return reinterpret_cast<T*>(base + (_data - 1 - 65533) * compact_alignment); } else if (_data == 65534) return static_cast<T*>(compact_get_page(this, header_offset)->compact_shared_parent); |