diff --git a/libIRDB/include/core/fileir.hpp b/libIRDB/include/core/fileir.hpp index bc69b9c204fcd885ffc434e5244e0342279214c2..d5c8b5f181f81c095f1bd17b93a9fb8173186d28 100644 --- a/libIRDB/include/core/fileir.hpp +++ b/libIRDB/include/core/fileir.hpp @@ -37,6 +37,8 @@ class FileIR_t : public BaseObj_t void AssembleRegistry(); void RegisterAssembly(Instruction_t *instr, std::string assembly); void UnregisterAssembly(Instruction_t *instr); + std::string LookupAssembly(Instruction_t *instr); + //Needed for inserting assembly before an instruction. //if orig is not registered, the function returns, otherwise //the instruction/assembly mapping of orig->assembly is altered to diff --git a/libIRDB/src/core/fileir.cpp b/libIRDB/src/core/fileir.cpp index ef39e8c36328415fb44ad4e0d8891743b55edcdc..0f0f566289c38e735c70ac8799c058a5936f1381 100644 --- a/libIRDB/src/core/fileir.cpp +++ b/libIRDB/src/core/fileir.cpp @@ -195,6 +195,13 @@ void FileIR_t::UnregisterAssembly(Instruction_t *instr) assembly_registry.erase(instr); } +std::string FileIR_t::LookupAssembly(Instruction_t *instr) +{ + if (assembly_registry.find(instr) != assembly_registry.end()) + return assembly_registry[instr]; + else + return std::string(); +} std::map<db_id_t,Function_t*> FileIR_t::ReadFuncsFromDB (