more fixes, prefix filter for export symbols

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@304 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2008-08-24 21:54:59 +00:00
parent 4871626af8
commit a47f8cbe9a
4 changed files with 26 additions and 17 deletions

View File

@ -133,14 +133,18 @@ void SignatureDB::Apply(SymbolDB *symbol_db)
symbol_db->Index();
}
void SignatureDB::Initialize(SymbolDB *symbol_db)
void SignatureDB::Initialize(SymbolDB *symbol_db, const char *prefix)
{
std::string prefix_str(prefix);
for (SymbolDB::XFuncMap::const_iterator iter = symbol_db->GetConstIterator(); iter != symbol_db->End(); iter++)
{
DBFunc temp_dbfunc;
temp_dbfunc.name = iter->second.name;
temp_dbfunc.size = iter->second.size;
database[iter->second.hash] = temp_dbfunc;
if (iter->second.name.substr(0, prefix_str.size()) == prefix_str)
{
DBFunc temp_dbfunc;
temp_dbfunc.name = iter->second.name;
temp_dbfunc.size = iter->second.size;
database[iter->second.hash] = temp_dbfunc;
}
}
}

View File

@ -50,7 +50,7 @@ public:
void Clear();
void List();
void Initialize(SymbolDB *func_db);
void Initialize(SymbolDB *func_db, const char *prefix = "");
void Apply(SymbolDB *func_db);
static u32 ComputeCodeChecksum(u32 offsetStart, u32 offsetEnd);