diff options
| -rw-r--r-- | binaryninjaapi.cpp | 11 | ||||
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryninjacore.h | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/binaryninjaapi.cpp b/binaryninjaapi.cpp index b774cf2b..e70c45ab 100644 --- a/binaryninjaapi.cpp +++ b/binaryninjaapi.cpp @@ -142,6 +142,17 @@ string BinaryNinja::GetPathRelativeToUserPluginDirectory(const string& rel) } +string BinaryNinja::GetPathRelativeToUserDirectory(const string& rel) +{ + char* path = BNGetPathRelativeToUserDirectory(rel.c_str()); + if (!path) + return rel; + string result = path; + BNFreeString(path); + return result; +} + + bool BinaryNinja::ExecuteWorkerProcess(const string& path, const vector<string>& args, const DataBuffer& input, string& output, string& errors, bool stdoutIsText, bool stderrIsText) { diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 4b8f522b..349baa79 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -588,6 +588,7 @@ namespace BinaryNinja std::string GetPathRelativeToBundledPluginDirectory(const std::string& path); std::string GetPathRelativeToUserPluginDirectory(const std::string& path); + std::string GetPathRelativeToUserDirectory(const std::string& path); bool ExecuteWorkerProcess(const std::string& path, const std::vector<std::string>& args, const DataBuffer& input, std::string& output, std::string& errors, bool stdoutIsText=false, bool stderrIsText=true); diff --git a/binaryninjacore.h b/binaryninjacore.h index 5b9bcb03..17e171f7 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -1998,6 +1998,7 @@ extern "C" BINARYNINJACOREAPI char* BNGetPathRelativeToBundledPluginDirectory(const char* path); BINARYNINJACOREAPI char* BNGetPathRelativeToUserPluginDirectory(const char* path); + BINARYNINJACOREAPI char* BNGetPathRelativeToUserDirectory(const char* path); BINARYNINJACOREAPI bool BNExecuteWorkerProcess(const char* path, const char* args[], BNDataBuffer* input, char** output, char** error, |
