diff options
Diffstat (limited to 'type.cpp')
| -rw-r--r-- | type.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -355,3 +355,26 @@ void Enumeration::AddMemberWithValue(const string& name, uint64_t value) { BNAddEnumerationMemberWithValue(m_enum, name.c_str(), value); } + + +bool BinaryNinja::PreprocessSource(const string& source, const string& fileName, string& output, string& errors, + const vector<string>& includeDirs) +{ + char* outStr; + char* errorStr; + const char** includeDirList = new const char*[includeDirs.size()]; + + for (size_t i = 0; i < includeDirs.size(); i++) + includeDirList[i] = includeDirs[i].c_str(); + + bool result = BNPreprocessSource(source.c_str(), fileName.c_str(), &outStr, &errorStr, + includeDirList, includeDirs.size()); + + output = outStr; + errors = errorStr; + + BNFreeString(outStr); + BNFreeString(errorStr); + delete[] includeDirList; + return result; +} |
