summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lamoureux <andrew@vector35.com>2016-09-06 13:08:33 -0400
committerAndrew Lamoureux <andrew@vector35.com>2016-09-06 13:08:33 -0400
commit2e2c0fad51051871642f10f57cc0db96dd58a2ad (patch)
treedffeb8e397bbbcd07515a5d5fec98b5d06483912
parent89c2a2faabb7344c4bd540c7f14420a34326cfaf (diff)
ExecuteWorkerProcess new parms: out,err text,bin
-rw-r--r--binaryninjaapi.cpp5
-rw-r--r--binaryninjaapi.h2
-rw-r--r--binaryninjacore.h3
3 files changed, 6 insertions, 4 deletions
diff --git a/binaryninjaapi.cpp b/binaryninjaapi.cpp
index 71a5a8f7..1a9f5713 100644
--- a/binaryninjaapi.cpp
+++ b/binaryninjaapi.cpp
@@ -93,7 +93,7 @@ string BinaryNinja::GetPathRelativeToUserPluginDirectory(const string& rel)
bool BinaryNinja::ExecuteWorkerProcess(const string& path, const vector<string>& args, const DataBuffer& input,
- string& output, string& errors)
+ string& output, string& errors, bool stdoutIsText, bool stderrIsText)
{
const char** argArray = new const char*[args.size() + 1];
for (size_t i = 0; i < args.size(); i++)
@@ -102,7 +102,8 @@ bool BinaryNinja::ExecuteWorkerProcess(const string& path, const vector<string>&
char* outputStr;
char* errorStr;
- bool result = BNExecuteWorkerProcess(path.c_str(), argArray, input.GetBufferObject(), &outputStr, &errorStr);
+ bool result = BNExecuteWorkerProcess(path.c_str(), argArray, input.GetBufferObject(), &outputStr, &errorStr,
+ stdoutIsText, stderrIsText);
output = outputStr;
errors = errorStr;
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 72e13567..ff505527 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -346,7 +346,7 @@ namespace BinaryNinja
std::string GetPathRelativeToUserPluginDirectory(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);
+ std::string& output, std::string& errors, bool stdoutIsText=false, bool stderrIsText=true);
std::string GetVersionString();
uint32_t GetBuildId();
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 0c2738cb..1fe0ad5a 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1041,7 +1041,8 @@ extern "C"
BINARYNINJACOREAPI char* BNGetPathRelativeToUserPluginDirectory(const char* path);
BINARYNINJACOREAPI bool BNExecuteWorkerProcess(const char* path, const char* args[],
- BNDataBuffer* input, char** output, char** error);
+ BNDataBuffer* input, char** output, char** error,
+ bool stdoutIsText, bool stderrIsText);
BINARYNINJACOREAPI void BNSetCurrentPluginLoadOrder(BNPluginLoadOrder order);
BINARYNINJACOREAPI void BNAddRequiredPluginDependency(const char* name);