From 5d9314f134ddd3dc4c853e398ac90ba247fb2e4f Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Mon, 13 Jun 2016 18:42:42 -0400 Subject: Imported Upstream version 3.1.0 --- Plugins/DbAndroid/adbmanager.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'Plugins/DbAndroid/adbmanager.cpp') diff --git a/Plugins/DbAndroid/adbmanager.cpp b/Plugins/DbAndroid/adbmanager.cpp index ed012a1..462e91f 100644 --- a/Plugins/DbAndroid/adbmanager.cpp +++ b/Plugins/DbAndroid/adbmanager.cpp @@ -175,13 +175,13 @@ bool AdbManager::testAdb(const QString& adbPath, bool quiet) return res; } -bool AdbManager::execBytes(const QStringList& arguments, QByteArray* stdOut, QByteArray* stdErr) +bool AdbManager::execBytes(const QStringList& arguments, QByteArray* stdOut, QByteArray* stdErr, bool forceSafe) { if (!ensureAdbRunning()) return false; QProcess proc; - if (arguments.join(" ").size() > 800) + if (forceSafe || arguments.join(" ").size() > 800) { if (!execLongCommand(arguments, proc, stdErr)) return false; @@ -250,11 +250,11 @@ bool AdbManager::ensureAdbRunning() return true; } -bool AdbManager::exec(const QStringList& arguments, QString* stdOut, QString* stdErr) +bool AdbManager::exec(const QStringList& arguments, QString* stdOut, QString* stdErr, bool forceSafe) { QByteArray* out = stdOut ? new QByteArray() : nullptr; QByteArray* err = stdErr ? new QByteArray() : nullptr; - bool res = execBytes(arguments, out, err); + bool res = execBytes(arguments, out, err, forceSafe); if (stdOut) { @@ -292,14 +292,14 @@ bool AdbManager::execLongCommand(const QStringList& arguments, QProcess& proc, Q args.removeFirst(); // remove the shell itself // Escape remaining arguments for the script - QString cmd = " '" + args.replaceInStrings("'", "'\''").join("' '") + "'"; + QString cmd = " '" + args.replaceInStrings("'", "'\\''").join("' '") + "'"; // Now, the temporary file for the script QTemporaryFile tmpFile("SQLiteStudio-XXXXXX.sh"); if (!tmpFile.open()) { if (stdErr) - *stdErr = encode(QString("Could not create temporary file: %1").arg(tmpFile.fileName())); + *stdErr = encode(QString("Could not create temporary file: %1 (%2)").arg(tmpFile.fileName(), tmpFile.errorString())); return false; } -- cgit v1.2.3