diff --git a/src/libs/qmljs/qmljsplugindumper.cpp b/src/libs/qmljs/qmljsplugindumper.cpp index 502021b44dd..1c76248e299 100644 --- a/src/libs/qmljs/qmljsplugindumper.cpp +++ b/src/libs/qmljs/qmljsplugindumper.cpp @@ -231,7 +231,7 @@ static QString qmlPluginDumpErrorMessage(QtcProcess *process) } errorMessage += '\n' + PluginDumper::tr("Arguments: %1").arg(process->commandLine().arguments()); if (process->error() != QProcess::FailedToStart) { - const QString stdErr = QString::fromLocal8Bit(process->readAllStandardError()); + const QString stdErr = QString::fromLocal8Bit(process->readAllRawStandardError()); if (!stdErr.isEmpty()) { errorMessage += QLatin1Char('\n'); errorMessage += stdErr; @@ -264,7 +264,7 @@ void PluginDumper::qmlPluginTypeDumpDone(QtcProcess *process) return; } - const QByteArray output = process->readAllStandardOutput(); + const QByteArray output = process->readAllRawStandardOutput(); class CppQmlTypesInfo { public: diff --git a/src/libs/utils/archive.cpp b/src/libs/utils/archive.cpp index 06aa518b5db..b32bcf79d1c 100644 --- a/src/libs/utils/archive.cpp +++ b/src/libs/utils/archive.cpp @@ -162,7 +162,7 @@ void Archive::unarchive() m_process.reset(new QtcProcess); m_process->setProcessChannelMode(QProcess::MergedChannels); QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput, this, [this] { - emit outputReceived(QString::fromUtf8(m_process->readAllStandardOutput())); + emit outputReceived(m_process->readAllStandardOutput()); }); QObject::connect(m_process.get(), &QtcProcess::done, this, [this] { const bool successfulFinish = m_process->result() == ProcessResult::FinishedWithSuccess; diff --git a/src/libs/utils/deviceshell.cpp b/src/libs/utils/deviceshell.cpp index db17a80ecae..221c8c22991 100644 --- a/src/libs/utils/deviceshell.cpp +++ b/src/libs/utils/deviceshell.cpp @@ -93,8 +93,8 @@ RunResult DeviceShell::run(const CommandLine &cmd, const QByteArray &stdInData) return RunResult{ proc.exitCode(), - proc.readAllStandardOutput(), - proc.readAllStandardError() + proc.readAllRawStandardOutput(), + proc.readAllRawStandardError() }; } @@ -213,7 +213,7 @@ bool DeviceShell::start() &QtcProcess::readyReadStandardError, m_shellProcess.get(), [this] { - const QByteArray stdErr = m_shellProcess->readAllStandardError(); + const QByteArray stdErr = m_shellProcess->readAllRawStandardError(); qCWarning(deviceShellLog) << "Received unexpected output on stderr:" << stdErr; }); @@ -249,7 +249,7 @@ bool DeviceShell::checkCommand(const QByteArray &command) qCWarning(deviceShellLog) << "Timeout while trying to check for" << command; return false; } - QByteArray out = m_shellProcess->readAllStandardOutput(); + QByteArray out = m_shellProcess->readAllRawStandardOutput(); if (out.contains("")) { m_shellScriptState = State::NoScript; qCWarning(deviceShellLog) << "Command" << command << "was not found"; @@ -293,7 +293,7 @@ bool DeviceShell::installShellScript() return false; } - QByteArray out = m_shellProcess->readAllStandardError(); + QByteArray out = m_shellProcess->readAllRawStandardError(); if (out.contains("SCRIPT_INSTALLED")) { m_shellScriptState = State::Succeeded; return true; @@ -399,7 +399,7 @@ QList> parseShellOutput(cons */ void DeviceShell::onReadyRead() { - m_commandBuffer += m_shellProcess->readAllStandardOutput(); + m_commandBuffer += m_shellProcess->readAllRawStandardOutput(); const qsizetype lastLineEndIndex = m_commandBuffer.lastIndexOf('\n') + 1; if (lastLineEndIndex == 0) diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 169e01cf019..bef78ec7684 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -1271,7 +1271,7 @@ bool QtcProcess::readDataFromProcess(QByteArray *stdOut, QByteArray *stdErr, int finished = waitForFinished(timeoutS > 0 ? timeoutS * 1000 : -1) || state() == QProcess::NotRunning; // First check 'stdout' - const QByteArray newStdOut = readAllStandardOutput(); + const QByteArray newStdOut = readAllRawStandardOutput(); if (!newStdOut.isEmpty()) { hasData = true; if (stdOut) @@ -1279,7 +1279,7 @@ bool QtcProcess::readDataFromProcess(QByteArray *stdOut, QByteArray *stdErr, int } // Check 'stderr' separately. This is a special handling // for 'git pull' and the like which prints its progress on stderr. - const QByteArray newStdErr = readAllStandardError(); + const QByteArray newStdErr = readAllRawStandardError(); if (!newStdErr.isEmpty()) { hasData = true; if (stdErr) @@ -1481,12 +1481,12 @@ bool QtcProcess::waitForFinished(int msecs) return d->waitForSignal(ProcessSignalType::Done, msecs); } -QByteArray QtcProcess::readAllStandardOutput() +QByteArray QtcProcess::readAllRawStandardOutput() { return d->m_stdOut.readAllData(); } -QByteArray QtcProcess::readAllStandardError() +QByteArray QtcProcess::readAllRawStandardError() { return d->m_stdErr.readAllData(); } @@ -1548,6 +1548,16 @@ void QtcProcess::stop() d->m_killTimer.start(d->m_process->m_setup.m_reaperTimeout); } +QString QtcProcess::readAllStandardOutput() +{ + return QString::fromUtf8(readAllRawStandardOutput()); +} + +QString QtcProcess::readAllStandardError() +{ + return QString::fromUtf8(readAllRawStandardError()); +} + /*! \class Utils::SynchronousProcess diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index b49cd547a5b..39daa57abad 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -46,8 +46,11 @@ public: void close(); void stop(); - QByteArray readAllStandardOutput(); - QByteArray readAllStandardError(); + QString readAllStandardOutput(); + QString readAllStandardError(); + + QByteArray readAllRawStandardOutput(); + QByteArray readAllRawStandardError(); qint64 write(const QString &input); qint64 writeRaw(const QByteArray &input); diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index 9342f67a022..7cf62fadf86 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -106,7 +106,7 @@ static CreateAvdInfo createAvdCommand(const AndroidConfig &config, const CreateA QByteArray question; while (errorOutput.isEmpty()) { proc.waitForReadyRead(500); - question += proc.readAllStandardOutput(); + question += proc.readAllRawStandardOutput(); if (question.endsWith(QByteArray("]:"))) { // truncate to last line int index = question.lastIndexOf(QByteArray("\n")); @@ -120,7 +120,7 @@ static CreateAvdInfo createAvdCommand(const AndroidConfig &config, const CreateA } // The exit code is always 0, so we need to check stderr // For now assume that any output at all indicates a error - errorOutput = QString::fromLocal8Bit(proc.readAllStandardError()); + errorOutput = QString::fromLocal8Bit(proc.readAllRawStandardError()); if (!proc.isRunning()) break; @@ -270,7 +270,7 @@ bool AndroidAvdManager::startAvdAsync(const QString &avdName) const avdProcess->setProcessChannelMode(QProcess::MergedChannels); QObject::connect(avdProcess, &QtcProcess::done, avdProcess, [avdProcess] { if (avdProcess->exitCode()) { - const QString errorOutput = QString::fromLatin1(avdProcess->readAllStandardOutput()); + const QString errorOutput = QString::fromLatin1(avdProcess->readAllRawStandardOutput()); QMetaObject::invokeMethod(Core::ICore::mainWindow(), [errorOutput] { const QString title = Tr::tr("AVD Start Error"); QMessageBox::critical(Core::ICore::dialogParent(), title, errorOutput); diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index abda46b17be..ba2bb7dfec5 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1489,7 +1489,7 @@ FilePath AndroidConfig::getJdkPath() findJdkPathProc.setCommand({"sh", args}); findJdkPathProc.start(); findJdkPathProc.waitForFinished(); - QByteArray jdkPath = findJdkPathProc.readAllStandardOutput().trimmed(); + QByteArray jdkPath = findJdkPathProc.readAllRawStandardOutput().trimmed(); if (HostOsInfo::isMacHost()) { jdkHome = FilePath::fromUtf8(jdkPath); diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp index ccea5bfcecf..d50c72628f1 100644 --- a/src/plugins/android/androidsdkmanager.cpp +++ b/src/plugins/android/androidsdkmanager.cpp @@ -1012,7 +1012,7 @@ void AndroidSdkManagerPrivate::getPendingLicense(SdkCmdFutureInterface &fi) QTextCodec *codec = QTextCodec::codecForLocale(); int inputCounter = 0, steps = -1; while (!licenseCommand.waitForFinished(200)) { - QString stdOut = codec->toUnicode(licenseCommand.readAllStandardOutput()); + QString stdOut = codec->toUnicode(licenseCommand.readAllRawStandardOutput()); bool assertionFound = false; if (!stdOut.isEmpty()) assertionFound = onLicenseStdOut(stdOut, reviewingLicenses, result, fi); diff --git a/src/plugins/android/androidsignaloperation.cpp b/src/plugins/android/androidsignaloperation.cpp index d80a61d4585..426b63c1441 100644 --- a/src/plugins/android/androidsignaloperation.cpp +++ b/src/plugins/android/androidsignaloperation.cpp @@ -39,7 +39,7 @@ void AndroidSignalOperation::adbFindRunAsFinished() m_timeout->stop(); handleCrashMessage(); - const QString runAs = QString::fromLatin1(m_adbProcess->readAllStandardOutput()); + const QString runAs = QString::fromLatin1(m_adbProcess->readAllRawStandardOutput()); m_adbProcess.release()->deleteLater(); if (runAs.isEmpty() || !m_errorMessage.isEmpty()) { m_errorMessage.prepend(QLatin1String("Cannot find User for process: ") @@ -59,7 +59,7 @@ void AndroidSignalOperation::adbKillFinished() m_timeout->stop(); if (!handleCrashMessage()) - m_errorMessage = QString::fromLatin1(m_adbProcess->readAllStandardError()); + m_errorMessage = QString::fromLatin1(m_adbProcess->readAllRawStandardError()); m_adbProcess.release()->deleteLater(); if (!m_errorMessage.isEmpty()) m_errorMessage.prepend(QLatin1String("Cannot kill process: ") + QString::number(m_pid)); diff --git a/src/plugins/boot2qt/qdbdevicedebugsupport.cpp b/src/plugins/boot2qt/qdbdevicedebugsupport.cpp index ce2b6cdda4b..9475bb0e62a 100644 --- a/src/plugins/boot2qt/qdbdevicedebugsupport.cpp +++ b/src/plugins/boot2qt/qdbdevicedebugsupport.cpp @@ -36,10 +36,10 @@ public: connect(&m_launcher, &QtcProcess::done, this, &RunWorker::reportStopped); connect(&m_launcher, &QtcProcess::readyReadStandardOutput, this, [this] { - appendMessage(QString::fromUtf8(m_launcher.readAllStandardOutput()), StdOutFormat); + appendMessage(m_launcher.readAllStandardOutput(), StdOutFormat); }); connect(&m_launcher, &QtcProcess::readyReadStandardError, this, [this] { - appendMessage(QString::fromUtf8(m_launcher.readAllStandardError()), StdErrFormat); + appendMessage(m_launcher.readAllStandardError(), StdErrFormat); }); m_portsGatherer = new DebugServerPortsGatherer(runControl); diff --git a/src/plugins/boot2qt/qdbmakedefaultappstep.cpp b/src/plugins/boot2qt/qdbmakedefaultappstep.cpp index bcec7046593..e364f8c94e6 100644 --- a/src/plugins/boot2qt/qdbmakedefaultappstep.cpp +++ b/src/plugins/boot2qt/qdbmakedefaultappstep.cpp @@ -50,7 +50,7 @@ private: process.setCommand(cmd); QtcProcess *proc = &process; connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] { - emit stdErrData(QString::fromUtf8(proc->readAllStandardError())); + emit stdErrData(proc->readAllStandardError()); }); }; const auto doneHandler = [this](const QtcProcess &) { diff --git a/src/plugins/boot2qt/qdbstopapplicationstep.cpp b/src/plugins/boot2qt/qdbstopapplicationstep.cpp index 39546936335..5c71768774a 100644 --- a/src/plugins/boot2qt/qdbstopapplicationstep.cpp +++ b/src/plugins/boot2qt/qdbstopapplicationstep.cpp @@ -42,7 +42,7 @@ Group QdbStopApplicationService::deployRecipe() process.setWorkingDirectory("/usr/bin"); QtcProcess *proc = &process; connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] { - emit stdOutData(QString::fromUtf8(proc->readAllStandardOutput())); + emit stdOutData(proc->readAllStandardOutput()); }); }; const auto doneHandler = [this](const QtcProcess &) { diff --git a/src/plugins/clearcase/clearcasesync.cpp b/src/plugins/clearcase/clearcasesync.cpp index 8ce3b03fae3..079295f2ffa 100644 --- a/src/plugins/clearcase/clearcasesync.cpp +++ b/src/plugins/clearcase/clearcasesync.cpp @@ -38,7 +38,7 @@ static void runProcess(QFutureInterface &future, int processed = 0; QString buffer; while (process.waitForReadyRead() && !future.isCanceled()) { - buffer += QString::fromLocal8Bit(process.readAllStandardOutput()); + buffer += QString::fromLocal8Bit(process.readAllRawStandardOutput()); while (const int index = buffer.indexOf('\n') != -1) { const QString line = buffer.left(index + 1); processLine(line, ++processed); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index f38da1fc0ec..fafc45b1050 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -927,7 +927,7 @@ void CMakeBuildSystem::runCTest() process.start(); if (!process.waitForFinished() || process.result() != ProcessResult::FinishedWithSuccess) return; - futureInterface.reportResult(process.readAllStandardOutput()); + futureInterface.reportResult(process.readAllRawStandardOutput()); }); Utils::onFinished(future, this, [this](const QFuture &future) { @@ -1409,10 +1409,10 @@ void CMakeBuildSystem::runGenerator(Utils::Id id) const auto proc = new QtcProcess(this); connect(proc, &QtcProcess::done, proc, &QtcProcess::deleteLater); connect(proc, &QtcProcess::readyReadStandardOutput, this, [proc] { - Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllStandardOutput())); + Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllRawStandardOutput())); }); connect(proc, &QtcProcess::readyReadStandardError, this, [proc] { - Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllStandardError())); + Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllRawStandardError())); }); proc->setWorkingDirectory(outDir); proc->setEnvironment(buildConfiguration()->environment()); diff --git a/src/plugins/coreplugin/externaltool.cpp b/src/plugins/coreplugin/externaltool.cpp index 77ca4c3ba20..d375ef1c806 100644 --- a/src/plugins/coreplugin/externaltool.cpp +++ b/src/plugins/coreplugin/externaltool.cpp @@ -673,7 +673,7 @@ void ExternalToolRunner::readStandardOutput() { if (m_tool->outputHandling() == ExternalTool::Ignore) return; - const QByteArray data = m_process->readAllStandardOutput(); + const QByteArray data = m_process->readAllRawStandardOutput(); const QString output = m_outputCodec->toUnicode(data.constData(), data.length(), &m_outputCodecState); @@ -687,7 +687,7 @@ void ExternalToolRunner::readStandardError() { if (m_tool->errorHandling() == ExternalTool::Ignore) return; - const QByteArray data = m_process->readAllStandardError(); + const QByteArray data = m_process->readAllRawStandardError(); const QString output = m_outputCodec->toUnicode(data.constData(), data.length(), &m_errorCodecState); diff --git a/src/plugins/coreplugin/locator/executefilter.cpp b/src/plugins/coreplugin/locator/executefilter.cpp index bb5fd9148bd..141a7739c5f 100644 --- a/src/plugins/coreplugin/locator/executefilter.cpp +++ b/src/plugins/coreplugin/locator/executefilter.cpp @@ -124,7 +124,7 @@ void ExecuteFilter::done() void ExecuteFilter::readStandardOutput() { QTC_ASSERT(m_process, return); - const QByteArray data = m_process->readAllStandardOutput(); + const QByteArray data = m_process->readAllRawStandardOutput(); MessageManager::writeSilently( QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stdoutState)); } @@ -132,7 +132,7 @@ void ExecuteFilter::readStandardOutput() void ExecuteFilter::readStandardError() { QTC_ASSERT(m_process, return); - const QByteArray data = m_process->readAllStandardError(); + const QByteArray data = m_process->readAllRawStandardError(); MessageManager::writeSilently( QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stderrState)); } diff --git a/src/plugins/coreplugin/locator/spotlightlocatorfilter.cpp b/src/plugins/coreplugin/locator/spotlightlocatorfilter.cpp index bd131d35b4a..167078ecd19 100644 --- a/src/plugins/coreplugin/locator/spotlightlocatorfilter.cpp +++ b/src/plugins/coreplugin/locator/spotlightlocatorfilter.cpp @@ -78,7 +78,7 @@ SpotlightIterator::SpotlightIterator(const QStringList &command) }); QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput, m_process.get(), [this] { - QString output = QString::fromUtf8(m_process->readAllStandardOutput()); + QString output = m_process->readAllStandardOutput(); output.replace("\r\n", "\n"); const QStringList items = output.split('\n'); QMutexLocker lock(&m_mutex); diff --git a/src/plugins/cppcheck/cppcheckrunner.cpp b/src/plugins/cppcheck/cppcheckrunner.cpp index 85227736b99..8595eac28ba 100644 --- a/src/plugins/cppcheck/cppcheckrunner.cpp +++ b/src/plugins/cppcheck/cppcheckrunner.cpp @@ -20,7 +20,7 @@ CppcheckRunner::CppcheckRunner(CppcheckTool &tool) : m_tool(tool) getConf.setCommand({"getconf", {"ARG_MAX"}}); getConf.start(); getConf.waitForFinished(2000); - const QByteArray argMax = getConf.readAllStandardOutput().replace("\n", ""); + const QByteArray argMax = getConf.readAllRawStandardOutput().replace("\n", ""); m_maxArgumentsLength = std::max(argMax.toInt(), m_maxArgumentsLength); } diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index 25cbc29ed52..878ac9ca0a8 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -375,7 +375,7 @@ static FilePath getClangHeadersPathFromClang(const FilePath &clangdFilePath) if (!clang.waitForFinished()) return {}; const FilePath resourceDir = FilePath::fromUserInput(QString::fromLocal8Bit( - clang.readAllStandardOutput().trimmed())); + clang.readAllRawStandardOutput().trimmed())); if (resourceDir.isEmpty() || !resourceDir.exists()) return {}; const FilePath includeDir = resourceDir.pathAppended("include"); diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp index d0c3217e786..733bbde8e53 100644 --- a/src/plugins/cppeditor/cppmodelmanager.cpp +++ b/src/plugins/cppeditor/cppmodelmanager.cpp @@ -457,7 +457,7 @@ void CppModelManager::showPreprocessedFile(bool inNextSplit) return; } if (isMsvc) - saveAndOpen(outFilePath, compiler->readAllStandardOutput(), inNextSplit); + saveAndOpen(outFilePath, compiler->readAllRawStandardOutput(), inNextSplit); else openEditor(outFilePath, inNextSplit, Core::Constants::K_DEFAULT_TEXT_EDITOR_ID); }); diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index 5bae315855e..d228a7d4bc3 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -131,7 +131,7 @@ private: m_tempCoreFile.setFileName(m_tempCoreFilePath.path()); m_tempCoreFile.open(QFile::WriteOnly); connect(&m_coreUnpackProcess, &QtcProcess::readyReadStandardOutput, this, [this] { - m_tempCoreFile.write(m_coreUnpackProcess.readAllStandardOutput()); + m_tempCoreFile.write(m_coreUnpackProcess.readAllRawStandardOutput()); }); m_coreUnpackProcess.setCommand({"gzip", {"-c", "-d", m_coreFilePath.path()}}); reportStarted(); diff --git a/src/plugins/debugger/debuggersourcepathmappingwidget.cpp b/src/plugins/debugger/debuggersourcepathmappingwidget.cpp index e5f34e5fd42..9ade7cd9fda 100644 --- a/src/plugins/debugger/debuggersourcepathmappingwidget.cpp +++ b/src/plugins/debugger/debuggersourcepathmappingwidget.cpp @@ -431,7 +431,7 @@ static QString findQtInstallPath(const FilePath &qmakePath) qWarning("%s: '%s' crashed.", Q_FUNC_INFO, qPrintable(qmakePath.toString())); return QString(); } - const QByteArray ba = proc.readAllStandardOutput().trimmed(); + const QByteArray ba = proc.readAllRawStandardOutput().trimmed(); QDir dir(QString::fromLocal8Bit(ba)); if (dir.exists() && dir.cdUp()) return dir.absolutePath(); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 9348b45d7fb..eb3f02568df 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -589,7 +589,7 @@ void GdbEngine::handleAsyncOutput(const QString &asyncClass, const GdbMi &result void GdbEngine::readGdbStandardError() { - QString err = QString::fromUtf8(m_gdbProc.readAllStandardError()); + QString err = QString::fromUtf8(m_gdbProc.readAllRawStandardError()); showMessage("UNEXPECTED GDB STDERR: " + err); if (err == "Undefined command: \"bb\". Try \"help\".\n") return; @@ -616,7 +616,7 @@ void GdbEngine::readGdbStandardOutput() int newstart = 0; int scan = m_inbuffer.size(); - QByteArray out = m_gdbProc.readAllStandardOutput(); + QByteArray out = m_gdbProc.readAllRawStandardOutput(); m_inbuffer.append(out); // This can trigger when a dialog starts a nested event loop. diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index e28db6b267d..e8c3c361383 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -824,14 +824,14 @@ QString LldbEngine::errorMessage(QProcess::ProcessError error) const void LldbEngine::readLldbStandardError() { - QString err = QString::fromUtf8(m_lldbProc.readAllStandardError()); + QString err = QString::fromUtf8(m_lldbProc.readAllRawStandardError()); qDebug() << "\nLLDB STDERR UNEXPECTED: " << err; showMessage("Lldb stderr: " + err, LogError); } void LldbEngine::readLldbStandardOutput() { - QByteArray outba = m_lldbProc.readAllStandardOutput(); + QByteArray outba = m_lldbProc.readAllRawStandardOutput(); outba.replace("\r\n", "\n"); QString out = QString::fromUtf8(outba); showMessage(out, LogOutput); diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp index 4c17affee49..1a7487f444f 100644 --- a/src/plugins/debugger/pdb/pdbengine.cpp +++ b/src/plugins/debugger/pdb/pdbengine.cpp @@ -413,7 +413,7 @@ void PdbEngine::handlePdbDone() void PdbEngine::readPdbStandardError() { - QString err = QString::fromUtf8(m_proc.readAllStandardError()); + QString err = QString::fromUtf8(m_proc.readAllRawStandardError()); //qWarning() << "Unexpected pdb stderr:" << err; showMessage("Unexpected pdb stderr: " + err); //handleOutput(err); @@ -421,8 +421,7 @@ void PdbEngine::readPdbStandardError() void PdbEngine::readPdbStandardOutput() { - QString out = QString::fromUtf8(m_proc.readAllStandardOutput()); - handleOutput(out); + handleOutput(m_proc.readAllStandardOutput()); } void PdbEngine::handleOutput(const QString &data) diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index 6d38d443262..1e7c6c6c677 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -251,11 +251,11 @@ QmlEngine::QmlEngine() connect(&d->process, &QtcProcess::readyReadStandardOutput, this, [this] { // FIXME: Redirect to RunControl - showMessage(QString::fromUtf8(d->process.readAllStandardOutput()), AppOutput); + showMessage(d->process.readAllStandardOutput(), AppOutput); }); connect(&d->process, &QtcProcess::readyReadStandardError, this, [this] { // FIXME: Redirect to RunControl - showMessage(QString::fromUtf8(d->process.readAllStandardError()), AppOutput); + showMessage(d->process.readAllStandardError(), AppOutput); }); connect(&d->process, &QtcProcess::done, this, &QmlEngine::disconnected); diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 4626e0ca4d2..5a4b7d61811 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -236,7 +236,7 @@ DockerProcessImpl::DockerProcessImpl(IDevice::ConstPtr device, DockerDevicePriva connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] { if (!m_hasReceivedFirstOutput) { - QByteArray output = m_process.readAllStandardOutput(); + QByteArray output = m_process.readAllRawStandardOutput(); qsizetype idx = output.indexOf('\n'); QByteArray firstLine = output.left(idx); QByteArray rest = output.mid(idx + 1); @@ -256,11 +256,11 @@ DockerProcessImpl::DockerProcessImpl(IDevice::ConstPtr device, DockerDevicePriva return; } } - emit readyRead(m_process.readAllStandardOutput(), {}); + emit readyRead(m_process.readAllRawStandardOutput(), {}); }); connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] { - emit readyRead({}, m_process.readAllStandardError()); + emit readyRead({}, m_process.readAllRawStandardError()); }); connect(&m_process, &QtcProcess::done, this, [this] { @@ -1005,7 +1005,7 @@ public: m_process->setCommand(cmd); connect(m_process, &QtcProcess::readyReadStandardOutput, this, [this] { - const QString out = QString::fromUtf8(m_process->readAllStandardOutput().trimmed()); + const QString out = m_process->readAllStandardOutput().trimmed(); m_log->append(out); for (const QString &line : out.split('\n')) { const QStringList parts = line.trimmed().split('\t'); diff --git a/src/plugins/git/gerrit/gerritmodel.cpp b/src/plugins/git/gerrit/gerritmodel.cpp index bccd1fe50b3..8273fe0f096 100644 --- a/src/plugins/git/gerrit/gerritmodel.cpp +++ b/src/plugins/git/gerrit/gerritmodel.cpp @@ -260,12 +260,12 @@ QueryContext::QueryContext(const QString &query, m_arguments = server.curlArguments() << url; } connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] { - const QString text = QString::fromLocal8Bit(m_process.readAllStandardError()); + const QString text = QString::fromLocal8Bit(m_process.readAllRawStandardError()); VcsOutputWindow::appendError(text); m_error.append(text); }); connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] { - m_output.append(m_process.readAllStandardOutput()); + m_output.append(m_process.readAllRawStandardOutput()); }); connect(&m_process, &QtcProcess::done, this, &QueryContext::processDone); m_process.setEnvironment(Git::Internal::GitClient::instance()->processEnvironment()); diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index f47d0185413..c9ba3c46334 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -95,10 +95,10 @@ FetchContext::FetchContext(const QSharedPointer &change, m_process.setUseCtrlCStub(true); connect(&m_process, &QtcProcess::done, this, &FetchContext::processDone); connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] { - VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllStandardError())); + VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllRawStandardError())); }); connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] { - VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllStandardOutput())); + VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllRawStandardOutput())); }); m_process.setWorkingDirectory(repository); m_process.setEnvironment(GitClient::instance()->processEnvironment()); diff --git a/src/plugins/git/mergetool.cpp b/src/plugins/git/mergetool.cpp index 40c9e6d8a15..f696bef124c 100644 --- a/src/plugins/git/mergetool.cpp +++ b/src/plugins/git/mergetool.cpp @@ -169,7 +169,7 @@ void MergeTool::prompt(const QString &title, const QString &question) void MergeTool::readData() { - QString newData = QString::fromLocal8Bit(m_process.readAllStandardOutput()); + QString newData = QString::fromLocal8Bit(m_process.readAllRawStandardOutput()); newData.remove('\r'); VcsOutputWindow::append(newData); QString data = m_unfinishedLine + newData; diff --git a/src/plugins/gitlab/queryrunner.cpp b/src/plugins/gitlab/queryrunner.cpp index da54efcfb72..2ddc86cd091 100644 --- a/src/plugins/gitlab/queryrunner.cpp +++ b/src/plugins/gitlab/queryrunner.cpp @@ -111,7 +111,7 @@ QueryRunner::QueryRunner(const Query &query, const Id &id, QObject *parent) } VcsBase::VcsOutputWindow::appendError(m_process.exitMessage()); } else { - emit resultRetrieved(m_process.readAllStandardOutput()); + emit resultRetrieved(m_process.readAllRawStandardOutput()); } emit finished(); }); diff --git a/src/plugins/languageclient/languageclientinterface.cpp b/src/plugins/languageclient/languageclientinterface.cpp index 389fa551f32..75421db8a0e 100644 --- a/src/plugins/languageclient/languageclientinterface.cpp +++ b/src/plugins/languageclient/languageclientinterface.cpp @@ -152,7 +152,7 @@ void StdIOClientInterface::readError() { QTC_ASSERT(m_process, return); - const QByteArray stdErr = m_process->readAllStandardError(); + const QByteArray stdErr = m_process->readAllRawStandardError(); m_logFile.write(stdErr); qCDebug(LOGLSPCLIENTV) << "StdIOClient std err:\n"; @@ -162,7 +162,7 @@ void StdIOClientInterface::readError() void StdIOClientInterface::readOutput() { QTC_ASSERT(m_process, return); - const QByteArray &out = m_process->readAllStandardOutput(); + const QByteArray &out = m_process->readAllRawStandardOutput(); qCDebug(LOGLSPCLIENTV) << "StdIOClient std out:\n"; qCDebug(LOGLSPCLIENTV).noquote() << out; parseData(out); diff --git a/src/plugins/mesonprojectmanager/mesonprocess.cpp b/src/plugins/mesonprojectmanager/mesonprocess.cpp index f15e8d9f682..0c828588c20 100644 --- a/src/plugins/mesonprojectmanager/mesonprocess.cpp +++ b/src/plugins/mesonprojectmanager/mesonprocess.cpp @@ -51,8 +51,8 @@ void MesonProcess::handleProcessDone() ProjectExplorer::TaskHub::addTask(ProjectExplorer::BuildSystemTask{ ProjectExplorer::Task::TaskType::Error, m_process->exitMessage()}); } - m_stdo = m_process->readAllStandardOutput(); - m_stderr = m_process->readAllStandardError(); + m_stdo = m_process->readAllRawStandardOutput(); + m_stderr = m_process->readAllRawStandardError(); const QString elapsedTime = formatElapsedTime(m_elapsed.elapsed()); MessageManager::writeSilently(elapsedTime); emit finished(m_process->exitCode(), m_process->exitStatus()); @@ -105,14 +105,14 @@ bool MesonProcess::sanityCheck(const Command &command) const void MesonProcess::processStandardOutput() { - const auto data = m_process->readAllStandardOutput(); + const auto data = m_process->readAllRawStandardOutput(); MessageManager::writeSilently(QString::fromLocal8Bit(data)); emit readyReadStandardOutput(data); } void MesonProcess::processStandardError() { - MessageManager::writeSilently(QString::fromLocal8Bit(m_process->readAllStandardError())); + MessageManager::writeSilently(QString::fromLocal8Bit(m_process->readAllRawStandardError())); } } // namespace Internal diff --git a/src/plugins/mesonprojectmanager/mesonwrapper.h b/src/plugins/mesonprojectmanager/mesonwrapper.h index a93be28a0fe..b229ab65550 100644 --- a/src/plugins/mesonprojectmanager/mesonwrapper.h +++ b/src/plugins/mesonprojectmanager/mesonwrapper.h @@ -42,7 +42,7 @@ inline bool run_meson(const Command &command, QIODevice *output = nullptr) if (!process.waitForFinished()) return false; if (output) { - output->write(process.readAllStandardOutput()); + output->write(process.readAllRawStandardOutput()); } return process.exitCode() == 0; } diff --git a/src/plugins/nim/project/nimblebuildsystem.cpp b/src/plugins/nim/project/nimblebuildsystem.cpp index 37c979a8e5d..b1317153a81 100644 --- a/src/plugins/nim/project/nimblebuildsystem.cpp +++ b/src/plugins/nim/project/nimblebuildsystem.cpp @@ -22,7 +22,7 @@ const char C_NIMBLEPROJECT_TASKS[] = "Nim.NimbleProject.Tasks"; static QList linesFromProcessOutput(QtcProcess *process) { - QList lines = process->readAllStandardOutput().split('\n'); + QList lines = process->readAllRawStandardOutput().split('\n'); lines = Utils::transform(lines, [](const QByteArray &line){ return line.trimmed(); }); Utils::erase(lines, [](const QByteArray &line) { return line.isEmpty(); }); return lines; diff --git a/src/plugins/nim/project/nimtoolchain.cpp b/src/plugins/nim/project/nimtoolchain.cpp index 173b3c2c19f..b373fc94182 100644 --- a/src/plugins/nim/project/nimtoolchain.cpp +++ b/src/plugins/nim/project/nimtoolchain.cpp @@ -100,7 +100,7 @@ bool NimToolChain::parseVersion(const FilePath &path, std::tuple process.start(); if (!process.waitForFinished()) return false; - const QString version = QString::fromUtf8(process.readAllStandardOutput()).section('\n', 0, 0); + const QString version = process.readAllStandardOutput().section('\n', 0, 0); if (version.isEmpty()) return false; const QRegularExpression regex("(\\d+)\\.(\\d+)\\.(\\d+)"); diff --git a/src/plugins/nim/suggest/server.cpp b/src/plugins/nim/suggest/server.cpp index b1468b7a4b9..b891404fe8c 100644 --- a/src/plugins/nim/suggest/server.cpp +++ b/src/plugins/nim/suggest/server.cpp @@ -60,12 +60,12 @@ QString NimSuggestServer::projectFilePath() const void NimSuggestServer::onStandardOutputAvailable() { if (!m_portAvailable) { - const QString output = QString::fromUtf8(m_process.readAllStandardOutput()); + const QString output = m_process.readAllStandardOutput(); m_port = static_cast(output.toUInt()); m_portAvailable = true; emit started(); } else { - qDebug() << m_process.readAllStandardOutput(); + qDebug() << m_process.readAllRawStandardOutput(); } } diff --git a/src/plugins/perfprofiler/perfconfigwidget.cpp b/src/plugins/perfprofiler/perfconfigwidget.cpp index 4aa832529b2..68c86ff720b 100644 --- a/src/plugins/perfprofiler/perfconfigwidget.cpp +++ b/src/plugins/perfprofiler/perfconfigwidget.cpp @@ -161,7 +161,7 @@ void PerfConfigWidget::handleProcessDone() return; } const QList lines = - m_process->readAllStandardOutput().append(m_process->readAllStandardError()) + m_process->readAllRawStandardOutput().append(m_process->readAllRawStandardError()) .split('\n'); auto model = eventsView->model(); const int previousRows = model->rowCount(); diff --git a/src/plugins/perfprofiler/perfprofilerruncontrol.cpp b/src/plugins/perfprofiler/perfprofilerruncontrol.cpp index 9988797835a..1d2fd90629d 100644 --- a/src/plugins/perfprofiler/perfprofilerruncontrol.cpp +++ b/src/plugins/perfprofiler/perfprofilerruncontrol.cpp @@ -194,11 +194,11 @@ void PerfProfilerRunner::start() // That's the local case. QtcProcess *recorder = prw->recorder(); connect(recorder, &QtcProcess::readyReadStandardError, this, [this, recorder] { - appendMessage(QString::fromLocal8Bit(recorder->readAllStandardError()), + appendMessage(QString::fromLocal8Bit(recorder->readAllRawStandardError()), Utils::StdErrFormat); }); connect(recorder, &QtcProcess::readyReadStandardOutput, this, [this, reader, recorder] { - if (!reader->feedParser(recorder->readAllStandardOutput())) + if (!reader->feedParser(recorder->readAllRawStandardOutput())) reportFailure(Tr::tr("Failed to transfer Perf data to perfparser.")); }); } diff --git a/src/plugins/perfprofiler/perftracepointdialog.cpp b/src/plugins/perfprofiler/perftracepointdialog.cpp index 3d32ae07129..da3b4c38c32 100644 --- a/src/plugins/perfprofiler/perftracepointdialog.cpp +++ b/src/plugins/perfprofiler/perftracepointdialog.cpp @@ -116,11 +116,11 @@ void PerfTracePointDialog::handleProcessDone() } else if ((m_process->exitStatus() == QProcess::CrashExit) || (m_process->exitCode() != 0)) { message = Tr::tr("Failed to create trace points."); } else { - message = Tr::tr("Created trace points for: %1").arg(QString::fromUtf8( - m_process->readAllStandardOutput().trimmed().replace('\n', ", "))); + message = Tr::tr("Created trace points for: %1").arg( + m_process->readAllStandardOutput().trimmed().replace('\n', ", ")); } m_label->setText(message); - m_textEdit->setHtml(QString::fromUtf8(m_process->readAllStandardError())); + m_textEdit->setHtml(m_process->readAllStandardError()); m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); m_buttonBox->button(QDialogButtonBox::Cancel)->setEnabled(false); } diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index 1bc8741d39f..ddae1e083f9 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -223,11 +223,11 @@ void AbstractProcessStep::setupProcess(QtcProcess *process) process->setLowPriority(); connect(process, &QtcProcess::readyReadStandardOutput, this, [this, process] { - emit addOutput(d->stdoutStream->toUnicode(process->readAllStandardOutput()), + emit addOutput(d->stdoutStream->toUnicode(process->readAllRawStandardOutput()), OutputFormat::Stdout, DontAppendNewline); }); connect(process, &QtcProcess::readyReadStandardError, this, [this, process] { - emit addOutput(d->stderrStream->toUnicode(process->readAllStandardError()), + emit addOutput(d->stderrStream->toUnicode(process->readAllRawStandardError()), OutputFormat::Stderr, DontAppendNewline); }); connect(process, &QtcProcess::started, this, [this] { diff --git a/src/plugins/projectexplorer/devicesupport/deviceusedportsgatherer.cpp b/src/plugins/projectexplorer/devicesupport/deviceusedportsgatherer.cpp index f4c260ad242..632e5c07bdc 100644 --- a/src/plugins/projectexplorer/devicesupport/deviceusedportsgatherer.cpp +++ b/src/plugins/projectexplorer/devicesupport/deviceusedportsgatherer.cpp @@ -87,7 +87,7 @@ void DeviceUsedPortsGatherer::setupUsedPorts() { d->usedPorts.clear(); const QList usedPorts = d->portsGatheringMethod.parsePorts( - d->process->readAllStandardOutput()); + d->process->readAllRawStandardOutput()); for (const Port port : usedPorts) { if (d->device->freePorts().contains(port)) d->usedPorts << port; @@ -107,7 +107,7 @@ void DeviceUsedPortsGatherer::handleProcessDone() setupUsedPorts(); } else { QString errMsg = d->process->errorString(); - const QByteArray stdErr = d->process->readAllStandardError(); + const QByteArray stdErr = d->process->readAllRawStandardError(); if (!stdErr.isEmpty()) { errMsg += QLatin1Char('\n'); errMsg += tr("Remote error output was: %1").arg(QString::fromUtf8(stdErr)); diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index b28cbf55dee..12eaa314a5a 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1360,7 +1360,7 @@ void SimpleTargetRunnerPrivate::handleDone() void SimpleTargetRunnerPrivate::handleStandardOutput() { - const QByteArray data = m_process.readAllStandardOutput(); + const QByteArray data = m_process.readAllRawStandardOutput(); const QString msg = m_outputCodec->toUnicode( data.constData(), data.length(), &m_outputCodecState); q->appendMessageChunk(msg, StdOutFormat); @@ -1368,7 +1368,7 @@ void SimpleTargetRunnerPrivate::handleStandardOutput() void SimpleTargetRunnerPrivate::handleStandardError() { - const QByteArray data = m_process.readAllStandardError(); + const QByteArray data = m_process.readAllRawStandardError(); const QString msg = m_outputCodec->toUnicode( data.constData(), data.length(), &m_errorCodecState); q->appendMessageChunk(msg, StdErrFormat); diff --git a/src/plugins/python/pipsupport.cpp b/src/plugins/python/pipsupport.cpp index ee5f211deb0..8c98bd423da 100644 --- a/src/plugins/python/pipsupport.cpp +++ b/src/plugins/python/pipsupport.cpp @@ -88,14 +88,14 @@ void PipInstallTask::handleDone() void PipInstallTask::handleOutput() { - const QString &stdOut = QString::fromLocal8Bit(m_process.readAllStandardOutput().trimmed()); + const QString &stdOut = QString::fromLocal8Bit(m_process.readAllRawStandardOutput().trimmed()); if (!stdOut.isEmpty()) Core::MessageManager::writeSilently(stdOut); } void PipInstallTask::handleError() { - const QString &stdErr = QString::fromLocal8Bit(m_process.readAllStandardError().trimmed()); + const QString &stdErr = QString::fromLocal8Bit(m_process.readAllRawStandardError().trimmed()); if (!stdErr.isEmpty()) Core::MessageManager::writeSilently(stdErr); } diff --git a/src/plugins/python/pysideuicextracompiler.cpp b/src/plugins/python/pysideuicextracompiler.cpp index 7e5b3b55af1..b1e7e31bb7f 100644 --- a/src/plugins/python/pysideuicextracompiler.cpp +++ b/src/plugins/python/pysideuicextracompiler.cpp @@ -41,7 +41,7 @@ FileNameToContentsHash PySideUicExtraCompiler::handleProcessFinished(QtcProcess return result; // As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The // conversion below is to normalize both the encoding, and the line terminators. - result[targetList.first()] = QString::fromLocal8Bit(process->readAllStandardOutput()).toUtf8(); + result[targetList.first()] = QString::fromLocal8Bit(process->readAllRawStandardOutput()).toUtf8(); return result; } diff --git a/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp b/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp index aae65ef4e01..c5e658ba54c 100644 --- a/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprofilemanager.cpp @@ -232,9 +232,9 @@ QString QbsProfileManager::runQbsConfig(QbsConfigOp op, const QString &key, cons } else if (qbsConfig.exitCode() != 0) { Core::MessageManager::writeFlashing( Tr::tr("Failed to run qbs config: %1") - .arg(QString::fromLocal8Bit(qbsConfig.readAllStandardError()))); + .arg(QString::fromLocal8Bit(qbsConfig.readAllRawStandardError()))); } - return QString::fromLocal8Bit(qbsConfig.readAllStandardOutput()).trimmed(); + return QString::fromLocal8Bit(qbsConfig.readAllRawStandardOutput()).trimmed(); } QVariant fromJSLiteral(const QString &str) diff --git a/src/plugins/qbsprojectmanager/qbssession.cpp b/src/plugins/qbsprojectmanager/qbssession.cpp index da6be4a1c93..06c605e842d 100644 --- a/src/plugins/qbsprojectmanager/qbssession.cpp +++ b/src/plugins/qbsprojectmanager/qbssession.cpp @@ -156,10 +156,10 @@ void QbsSession::initialize() d->qbsProcess->setProcessMode(ProcessMode::Writer); d->qbsProcess->setEnvironment(env); connect(d->qbsProcess, &QtcProcess::readyReadStandardOutput, this, [this] { - d->packetReader->handleData(d->qbsProcess->readAllStandardOutput()); + d->packetReader->handleData(d->qbsProcess->readAllRawStandardOutput()); }); connect(d->qbsProcess, &QtcProcess::readyReadStandardError, this, [this] { - qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllStandardError(); + qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllRawStandardError(); }); connect(d->qbsProcess, &QtcProcess::done, this, [this] { if (d->qbsProcess->result() == ProcessResult::StartFailed) { diff --git a/src/plugins/qbsprojectmanager/qbssettings.cpp b/src/plugins/qbsprojectmanager/qbssettings.cpp index 245462c1bd2..78eac2b308c 100644 --- a/src/plugins/qbsprojectmanager/qbssettings.cpp +++ b/src/plugins/qbsprojectmanager/qbssettings.cpp @@ -37,7 +37,7 @@ static QString getQbsVersion(const FilePath &qbsExe) qbsProc.start(); if (!qbsProc.waitForFinished(5000) || qbsProc.exitCode() != 0) return {}; - return QString::fromLocal8Bit(qbsProc.readAllStandardOutput()).trimmed(); + return QString::fromLocal8Bit(qbsProc.readAllRawStandardOutput()).trimmed(); } static bool operator==(const QbsSettingsData &s1, const QbsSettingsData &s2) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 30dfe6e2de2..288e9bdd64e 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -1588,10 +1588,10 @@ void QmakeBuildSystem::runGenerator(Utils::Id id) const auto proc = new QtcProcess(this); connect(proc, &QtcProcess::done, proc, &QtcProcess::deleteLater); connect(proc, &QtcProcess::readyReadStandardOutput, this, [proc] { - Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllStandardOutput())); + Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllRawStandardOutput())); }); connect(proc, &QtcProcess::readyReadStandardError, this, [proc] { - Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllStandardError())); + Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllRawStandardError())); }); proc->setWorkingDirectory(outDir); proc->setEnvironment(buildConfiguration()->environment()); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index 410d46b1f2d..aa057533c83 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -2073,7 +2073,7 @@ void NodeInstanceView::handleQsbProcessExit(Utils::QtcProcess *qsbProcess, const --m_remainingQsbTargets; const QString errStr = qsbProcess->errorString(); - const QByteArray stdErrStr = qsbProcess->readAllStandardError(); + const QByteArray stdErrStr = qsbProcess->readAllRawStandardError(); if (!errStr.isEmpty() || !stdErrStr.isEmpty()) { Core::MessageManager::writeSilently(QCoreApplication::translate( diff --git a/src/plugins/qnx/qnxdevice.cpp b/src/plugins/qnx/qnxdevice.cpp index 3523e70f815..a11ef1455bb 100644 --- a/src/plugins/qnx/qnxdevice.cpp +++ b/src/plugins/qnx/qnxdevice.cpp @@ -110,7 +110,7 @@ void QnxDevice::updateVersionNumber() const versionNumberProcess.setCommand({filePath("uname"), {"-r"}}); versionNumberProcess.runBlocking(EventLoopMode::On); - QByteArray output = versionNumberProcess.readAllStandardOutput(); + QByteArray output = versionNumberProcess.readAllRawStandardOutput(); QString versionMessage = QString::fromLatin1(output); const QRegularExpression versionNumberRegExp("(\\d+)\\.(\\d+)\\.(\\d+)"); const QRegularExpressionMatch match = versionNumberRegExp.match(versionMessage); diff --git a/src/plugins/qnx/slog2inforunner.cpp b/src/plugins/qnx/slog2inforunner.cpp index 3231d371b04..58509782c5b 100644 --- a/src/plugins/qnx/slog2inforunner.cpp +++ b/src/plugins/qnx/slog2inforunner.cpp @@ -60,10 +60,10 @@ void Slog2InfoRunner::start() const auto logStartHandler = [this](QtcProcess &process) { process.setCommand({device()->filePath("slog2info"), {"-w"}}); connect(&process, &QtcProcess::readyReadStandardOutput, this, [&] { - processLogInput(QString::fromLatin1(process.readAllStandardOutput())); + processLogInput(QString::fromLatin1(process.readAllRawStandardOutput())); }); connect(&process, &QtcProcess::readyReadStandardError, this, [&] { - appendMessage(QString::fromLatin1(process.readAllStandardError()), StdErrFormat); + appendMessage(QString::fromLatin1(process.readAllRawStandardError()), StdErrFormat); }); }; const auto logErrorHandler = [this](const QtcProcess &process) { diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 63d8d6b7269..af1448e7ed0 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1696,7 +1696,7 @@ static QByteArray runQmakeQuery(const FilePath &binary, const Environment &env, return {}; } - const QByteArray out = process.readAllStandardOutput(); + const QByteArray out = process.readAllRawStandardOutput(); if (out.isEmpty()) { *error = Tr::tr("\"%1\" produced no output: %2.") .arg(binary.displayName(), process.cleanedStdErr()); diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 7374d71a189..c3e867c19f6 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -375,7 +375,7 @@ static QList runQtChooser(const QString &qtchooser, const QStringLis p.start(); p.waitForFinished(); const bool success = p.exitCode() == 0; - return success ? p.readAllStandardOutput().split('\n') : QList(); + return success ? p.readAllRawStandardOutput().split('\n') : QList(); } // Asks qtchooser for the qmake path of a given version diff --git a/src/plugins/qtsupport/uicgenerator.cpp b/src/plugins/qtsupport/uicgenerator.cpp index b8fd7b58c7c..36c109e7b4f 100644 --- a/src/plugins/qtsupport/uicgenerator.cpp +++ b/src/plugins/qtsupport/uicgenerator.cpp @@ -59,7 +59,7 @@ FileNameToContentsHash UicGenerator::handleProcessFinished(Utils::QtcProcess *pr return result; // As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The // conversion below is to normalize both the encoding, and the line terminators. - QByteArray content = QString::fromLocal8Bit(process->readAllStandardOutput()).toUtf8(); + QByteArray content = QString::fromLocal8Bit(process->readAllRawStandardOutput()).toUtf8(); content.prepend("#pragma once\n"); result[targetList.first()] = content; return result; diff --git a/src/plugins/remotelinux/customcommanddeploystep.cpp b/src/plugins/remotelinux/customcommanddeploystep.cpp index c3c6b8bb61f..7c538bb51b1 100644 --- a/src/plugins/remotelinux/customcommanddeploystep.cpp +++ b/src/plugins/remotelinux/customcommanddeploystep.cpp @@ -56,10 +56,10 @@ Group CustomCommandDeployService::deployRecipe() {"-c", m_commandLine}}); QtcProcess *proc = &process; connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] { - emit stdOutData(QString::fromUtf8(proc->readAllStandardOutput())); + emit stdOutData(proc->readAllStandardOutput()); }); connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] { - emit stdErrData(QString::fromUtf8(proc->readAllStandardError())); + emit stdErrData(proc->readAllStandardError()); }); }; const auto doneHandler = [this](const QtcProcess &) { diff --git a/src/plugins/remotelinux/genericdirectuploadservice.cpp b/src/plugins/remotelinux/genericdirectuploadservice.cpp index 4913a1cafaa..082321f7ad8 100644 --- a/src/plugins/remotelinux/genericdirectuploadservice.cpp +++ b/src/plugins/remotelinux/genericdirectuploadservice.cpp @@ -132,7 +132,7 @@ QDateTime GenericDirectUploadServicePrivate::timestampFromStat(const DeployableF .arg(file.remoteFilePath(), error)); return {}; } - const QByteArray output = statProc->readAllStandardOutput().trimmed(); + const QByteArray output = statProc->readAllRawStandardOutput().trimmed(); const QString warningString(Tr::tr("Unexpected stat output for remote file \"%1\": %2") .arg(file.remoteFilePath()).arg(QString::fromUtf8(output))); if (!output.startsWith(file.remoteFilePath().toUtf8())) { diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 84584bfa887..880fd00402b 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -164,7 +164,7 @@ void SshSharedConnection::connectToHost() m_timer.setSingleShot(true); connect(&m_timer, &QTimer::timeout, this, &SshSharedConnection::autoDestructRequested); connect(m_masterProcess.get(), &QtcProcess::readyReadStandardOutput, this, [this] { - const QByteArray reply = m_masterProcess->readAllStandardOutput(); + const QByteArray reply = m_masterProcess->readAllRawStandardOutput(); if (reply == "\n") emitConnected(); // TODO: otherwise emitError and finish master process? @@ -719,14 +719,14 @@ void SshProcessInterfacePrivate::handleReadyReadStandardOutput() { // By default emits signal. LinuxProcessImpl does custom parsing for processId // and emits delayed start() - only when terminal is off. - q->handleReadyReadStandardOutput(m_process.readAllStandardOutput()); + q->handleReadyReadStandardOutput(m_process.readAllRawStandardOutput()); } void SshProcessInterfacePrivate::handleReadyReadStandardError() { // By default emits signal. LinuxProcessImpl buffers the error channel until // it emits delayed start() - only when terminal is off. - q->handleReadyReadStandardError(m_process.readAllStandardError()); + q->handleReadyReadStandardError(m_process.readAllRawStandardError()); } void SshProcessInterfacePrivate::clearForStart() @@ -1175,7 +1175,7 @@ protected: : m_setup.m_files.first().direction(); SshParameters::setupSshEnvironment(&m_process); connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] { - emit progress(QString::fromLocal8Bit(m_process.readAllStandardOutput())); + emit progress(QString::fromLocal8Bit(m_process.readAllRawStandardOutput())); }); connect(&m_process, &QtcProcess::done, this, &SshTransferInterface::doneImpl); } @@ -1190,7 +1190,7 @@ protected: resultData.m_errorString = Tr::tr("\"%1\" crashed.") .arg(FileTransfer::transferMethodName(m_setup.m_method)); } else if (resultData.m_exitCode != 0) { - resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllStandardError()); + resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllRawStandardError()); } else { return false; } diff --git a/src/plugins/remotelinux/remotelinuxsignaloperation.cpp b/src/plugins/remotelinux/remotelinuxsignaloperation.cpp index 3a77e1e9534..e073acde057 100644 --- a/src/plugins/remotelinux/remotelinuxsignaloperation.cpp +++ b/src/plugins/remotelinux/remotelinuxsignaloperation.cpp @@ -89,7 +89,7 @@ void RemoteLinuxSignalOperation::runnerDone() } else if (m_process->exitCode() != 0) { m_errorMessage = Tr::tr("Exit code is %1. stderr:").arg(m_process->exitCode()) + QLatin1Char(' ') - + QString::fromLatin1(m_process->readAllStandardError()); + + QString::fromLatin1(m_process->readAllRawStandardError()); } m_process.release()->deleteLater(); emit finished(m_errorMessage); diff --git a/src/plugins/remotelinux/rsyncdeploystep.cpp b/src/plugins/remotelinux/rsyncdeploystep.cpp index 36345d441d7..53435afc208 100644 --- a/src/plugins/remotelinux/rsyncdeploystep.cpp +++ b/src/plugins/remotelinux/rsyncdeploystep.cpp @@ -70,7 +70,7 @@ TaskItem RsyncDeployService::mkdirTask() process.setCommand({deviceConfiguration()->filePath("mkdir"), QStringList("-p") + remoteDirs}); connect(&process, &QtcProcess::readyReadStandardError, this, [this, proc = &process] { - emit stdErrData(QString::fromLocal8Bit(proc->readAllStandardError())); + emit stdErrData(QString::fromLocal8Bit(proc->readAllRawStandardError())); }); }; const auto errorHandler = [this](const QtcProcess &process) { diff --git a/src/plugins/remotelinux/sshkeycreationdialog.cpp b/src/plugins/remotelinux/sshkeycreationdialog.cpp index 497b97192c1..e0128d2a2ad 100644 --- a/src/plugins/remotelinux/sshkeycreationdialog.cpp +++ b/src/plugins/remotelinux/sshkeycreationdialog.cpp @@ -118,7 +118,7 @@ void SshKeyCreationDialog::generateKeys() if (!keygen.waitForFinished()) errorMsg = keygen.errorString(); else if (keygen.exitCode() != 0) - errorMsg = QString::fromLocal8Bit(keygen.readAllStandardError()); + errorMsg = QString::fromLocal8Bit(keygen.readAllRawStandardError()); if (!errorMsg.isEmpty()) { showError(Tr::tr("The ssh-keygen tool at \"%1\" failed: %2") .arg(SshSettings::keygenFilePath().toUserOutput(), errorMsg)); diff --git a/src/plugins/remotelinux/tarpackagedeploystep.cpp b/src/plugins/remotelinux/tarpackagedeploystep.cpp index b0d684c5f94..ef7e1dc166b 100644 --- a/src/plugins/remotelinux/tarpackagedeploystep.cpp +++ b/src/plugins/remotelinux/tarpackagedeploystep.cpp @@ -80,10 +80,10 @@ TaskItem TarPackageDeployService::installTask() process.setCommand({deviceConfiguration()->filePath("/bin/sh"), {"-c", cmdLine}}); QtcProcess *proc = &process; connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] { - emit stdOutData(QString::fromUtf8(proc->readAllStandardOutput())); + emit stdOutData(proc->readAllStandardOutput()); }); connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] { - emit stdErrData(QString::fromUtf8(proc->readAllStandardError())); + emit stdErrData(proc->readAllStandardError()); }); emit progressMessage(Tr::tr("Installing package to device...")); }; diff --git a/src/plugins/squish/squishtools.cpp b/src/plugins/squish/squishtools.cpp index cc34e5c5ee4..2ea67ab94a8 100644 --- a/src/plugins/squish/squishtools.cpp +++ b/src/plugins/squish/squishtools.cpp @@ -802,7 +802,7 @@ void SquishTools::onRecorderFinished() void SquishTools::onServerOutput() { // output used for getting the port information of the current squishserver - const QByteArray output = m_serverProcess.readAllStandardOutput(); + const QByteArray output = m_serverProcess.readAllRawStandardOutput(); const QList lines = output.split('\n'); for (const QByteArray &line : lines) { const QByteArray trimmed = line.trimmed(); @@ -830,7 +830,7 @@ void SquishTools::onServerOutput() void SquishTools::onServerErrorOutput() { // output that must be send to the Runner/Server Log - const QByteArray output = m_serverProcess.readAllStandardError(); + const QByteArray output = m_serverProcess.readAllRawStandardError(); const QList lines = output.split('\n'); for (const QByteArray &line : lines) { const QByteArray trimmed = line.trimmed(); @@ -922,7 +922,7 @@ void SquishTools::onRunnerOutput() void SquishTools::onRunnerErrorOutput() { // output that must be send to the Runner/Server Log - const QByteArray output = m_runnerProcess.readAllStandardError(); + const QByteArray output = m_runnerProcess.readAllRawStandardError(); const QList lines = output.split('\n'); for (const QByteArray &line : lines) { const QByteArray trimmed = line.trimmed(); diff --git a/src/plugins/texteditor/formattexteditor.cpp b/src/plugins/texteditor/formattexteditor.cpp index 60f64b6b2c9..d2b38552b22 100644 --- a/src/plugins/texteditor/formattexteditor.cpp +++ b/src/plugins/texteditor/formattexteditor.cpp @@ -103,14 +103,13 @@ static FormatTask format(FormatTask task) .arg(executable, task.filePath.displayName()); return task; } - const QByteArray errorText = process.readAllStandardError(); + const QString errorText = process.readAllStandardError(); if (!errorText.isEmpty()) { - task.error = QString::fromLatin1("%1: %2").arg(executable, - QString::fromUtf8(errorText)); + task.error = QString::fromLatin1("%1: %2").arg(executable, errorText); return task; } - task.formattedData = QString::fromUtf8(process.readAllStandardOutput()); + task.formattedData = process.readAllStandardOutput(); if (task.command.pipeAddsNewline() && task.formattedData.endsWith('\n')) { task.formattedData.chop(1); diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index f68bdcf6392..26c078ceaa8 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -136,7 +136,7 @@ public: reportFailure(); return; } - const QByteArrayList data = m_process->readAllStandardOutput().split(' '); + const QByteArrayList data = m_process->readAllRawStandardOutput().split(' '); if (data.size() != 3) { reportFailure(); return; diff --git a/src/plugins/valgrind/valgrindrunner.cpp b/src/plugins/valgrind/valgrindrunner.cpp index 07ca350fb07..ef84fba6759 100644 --- a/src/plugins/valgrind/valgrindrunner.cpp +++ b/src/plugins/valgrind/valgrindrunner.cpp @@ -34,12 +34,10 @@ public: emit q->finished(); }); connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] { - emit q->appendMessage(QString::fromUtf8(m_process.readAllStandardOutput()), - StdOutFormat); + emit q->appendMessage(m_process.readAllStandardOutput(), StdOutFormat); }); connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] { - emit q->appendMessage(QString::fromUtf8(m_process.readAllStandardError()), - StdErrFormat); + emit q->appendMessage(m_process.readAllStandardError(), StdErrFormat); }); connect(&m_xmlServer, &QTcpServer::newConnection, this, &Private::xmlSocketConnected); diff --git a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp index 3d47ec41724..38be259f314 100644 --- a/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp +++ b/src/plugins/webassembly/webassemblyrunconfigurationaspects.cpp @@ -54,7 +54,7 @@ static WebBrowserEntries emrunBrowsers(ProjectExplorer::Target *target) browserLister.start(); if (browserLister.waitForFinished()) - result.append(parseEmrunOutput(browserLister.readAllStandardOutput())); + result.append(parseEmrunOutput(browserLister.readAllRawStandardOutput())); } return result; } diff --git a/tests/auto/utils/commandline/tst_commandline.cpp b/tests/auto/utils/commandline/tst_commandline.cpp index d37399d69a5..05357d2526e 100644 --- a/tests/auto/utils/commandline/tst_commandline.cpp +++ b/tests/auto/utils/commandline/tst_commandline.cpp @@ -33,7 +33,7 @@ private: p.setCommand(cmd); p.setEnvironment(testEnv); p.runBlocking(); - return QString::fromUtf8(p.readAllStandardOutput()); + return QString::fromUtf8(p.readAllRawStandardOutput()); } private slots: diff --git a/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp b/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp index 3c4720646f3..62f93bca0cf 100644 --- a/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp +++ b/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp @@ -234,13 +234,13 @@ void tst_QtcProcess::multiRead() process.writeRaw("echo hi\n"); QVERIFY(process.waitForReadyRead(1000)); - buffer = process.readAllStandardOutput(); + buffer = process.readAllRawStandardOutput(); QCOMPARE(buffer, QByteArray("hi\n")); process.writeRaw("echo you\n"); QVERIFY(process.waitForReadyRead(1000)); - buffer = process.readAllStandardOutput(); + buffer = process.readAllRawStandardOutput(); QCOMPARE(buffer, QByteArray("you\n")); } @@ -1164,8 +1164,8 @@ void tst_QtcProcess::channelForwarding() process.start(); QVERIFY(process.waitForFinished()); - const QByteArray output = process.readAllStandardOutput(); - const QByteArray error = process.readAllStandardError(); + const QByteArray output = process.readAllRawStandardOutput(); + const QByteArray error = process.readAllRawStandardError(); QCOMPARE(output.contains(QByteArray(s_outputData)), outputForwarded); QCOMPARE(error.contains(QByteArray(s_errorData)), errorForwarded); @@ -1208,8 +1208,8 @@ void tst_QtcProcess::mergedChannels() process.start(); QVERIFY(process.waitForFinished()); - const QByteArray output = process.readAllStandardOutput(); - const QByteArray error = process.readAllStandardError(); + const QByteArray output = process.readAllRawStandardOutput(); + const QByteArray error = process.readAllRawStandardError(); QCOMPARE(output.contains(QByteArray(s_outputData)), outputOnOutput); QCOMPARE(error.contains(QByteArray(s_outputData)), outputOnError); @@ -1256,7 +1256,7 @@ void tst_QtcProcess::flushFinishedWhileWaitingForReadyRead() QByteArray reply; while (process.state() == QProcess::Running) { process.waitForReadyRead(500); - reply += process.readAllStandardOutput(); + reply += process.readAllRawStandardOutput(); if (timer.hasExpired()) break; } @@ -1344,12 +1344,12 @@ void tst_QtcProcess::recursiveBlockingProcess() process.start(); QVERIFY(process.waitForStarted(1000)); QVERIFY(process.waitForReadyRead(1000)); - QCOMPARE(process.readAllStandardOutput(), s_leafProcessStarted); + QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessStarted); QCOMPARE(runningTestProcessCount(), recursionDepth); QVERIFY(!process.waitForFinished(1000)); process.terminate(); QVERIFY(process.waitForReadyRead()); - QCOMPARE(process.readAllStandardOutput(), s_leafProcessTerminated); + QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessTerminated); QVERIFY(process.waitForFinished()); QCOMPARE(process.exitStatus(), QProcess::NormalExit); QCOMPARE(process.exitCode(), s_crashCode); @@ -1404,7 +1404,7 @@ void tst_QtcProcess::quitBlockingProcess() QVERIFY(process.isRunning()); QVERIFY(process.waitForReadyRead(1000)); - QCOMPARE(process.readAllStandardOutput(), s_leafProcessStarted); + QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessStarted); switch (quitType) { case QuitType::Terminate: process.terminate(); break; @@ -1426,11 +1426,11 @@ void tst_QtcProcess::quitBlockingProcess() if (gracefulQuit) { if (HostOsInfo::isWindowsHost()) QSKIP(s_skipTerminateOnWindows); - QCOMPARE(process.readAllStandardOutput(), s_leafProcessTerminated); + QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessTerminated); QCOMPARE(process.exitStatus(), QProcess::NormalExit); QCOMPARE(process.exitCode(), s_crashCode); } else { - QCOMPARE(process.readAllStandardOutput(), QByteArray()); + QCOMPARE(process.readAllRawStandardOutput(), QByteArray()); QCOMPARE(process.exitStatus(), QProcess::CrashExit); QVERIFY(process.exitCode() != s_crashCode); }