mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-30 13:05:25 -05:00
patterns: Added support for changing pointer endian
This commit is contained in:
@@ -692,6 +692,7 @@ namespace hex::pl {
|
||||
if (auto pointerPattern = dynamic_cast<PatternDataPointer*>(pattern)) {
|
||||
u128 value = 0;
|
||||
evaluator->getProvider()->read(pattern->getOffset(), &value, pattern->getSize());
|
||||
value = hex::changeEndianess(value, pattern->getSize(), pattern->getEndian());
|
||||
|
||||
auto result = function.func(evaluator, { value });
|
||||
|
||||
@@ -1088,9 +1089,12 @@ namespace hex::pl {
|
||||
|
||||
u128 pointerAddress = 0;
|
||||
evaluator->getProvider()->read(pattern->getOffset(), &pointerAddress, pattern->getSize());
|
||||
pointerAddress = hex::changeEndianess(pointerAddress, sizePattern->getSize(), sizePattern->getEndian());
|
||||
|
||||
pointedAtPattern->setOffset(pointerAddress);
|
||||
|
||||
pattern->setPointedAtPattern(pointedAtPattern);
|
||||
pattern->setEndian(sizePattern->getEndian());
|
||||
}
|
||||
|
||||
evaluator->dataOffset() = offset;
|
||||
|
||||
Reference in New Issue
Block a user