diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 2d7a4bfb60a..309294403e4 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -204,6 +204,8 @@ public: void handleRest(); void append(const QByteArray &text); + QByteArray readAllData() { return std::exchange(rawData, {}); } + QByteArray rawData; QString incompleteLineBuffer; // lines not yet signaled QTextCodec *codec = nullptr; // Not owner @@ -1501,16 +1503,12 @@ bool QtcProcess::waitForFinished(int msecs) QByteArray QtcProcess::readAllStandardOutput() { - QByteArray buf = d->m_stdOut.rawData; - d->m_stdOut.rawData.clear(); - return buf; + return d->m_stdOut.readAllData(); } QByteArray QtcProcess::readAllStandardError() { - QByteArray buf = d->m_stdErr.rawData; - d->m_stdErr.rawData.clear(); - return buf; + return d->m_stdErr.readAllData(); } qint64 QtcProcess::write(const QString &input)