diff options
| author | Glenn Smith <glenn@vector35.com> | 2025-02-06 15:00:04 -0500 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2025-02-06 15:04:05 -0500 |
| commit | 3355345145771291936738938721961916331716 (patch) | |
| tree | 86c4e52556610081deb3bfc790bb01ac62906c99 /function.cpp | |
| parent | 1473293c5e4463b5667e886b6e709582fc856872 (diff) | |
Add After variants for looking up variables at instructions
Fixes #6397
Diffstat (limited to 'function.cpp')
| -rw-r--r-- | function.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/function.cpp b/function.cpp index 6c74dfc9..811e64c3 100644 --- a/function.cpp +++ b/function.cpp @@ -1358,6 +1358,23 @@ bool Function::GetStackVariableAtFrameOffset( } +bool Function::GetStackVariableAtFrameOffsetAfterInstruction( + Architecture* arch, uint64_t addr, int64_t offset, VariableNameAndType& result) +{ + BNVariableNameAndType var; + if (!BNGetStackVariableAtFrameOffsetAfterInstruction(m_object, arch->GetObject(), addr, offset, &var)) + return false; + + result.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(var.type)), var.typeConfidence); + result.name = var.name; + result.var = var.var; + result.autoDefined = var.autoDefined; + + BNFreeVariableNameAndType(&var); + return true; +} + + map<Variable, VariableNameAndType> Function::GetVariables() { size_t count; |
