From 13c8d2edf601a0a61c5d1548b2bc66b5fab9ed78 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Mon, 17 Dec 2018 22:31:00 -0500 Subject: Add function to get path relative to main user path --- binaryninjaapi.cpp | 11 +++++++++++ binaryninjaapi.h | 1 + binaryninjacore.h | 1 + 3 files changed, 13 insertions(+) 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& 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& 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, -- cgit v1.3.1