Store ExternalCommand output in QByteArray.
This makes it possible to run dd with ExternalCommand.
This commit is contained in:
parent
1fd5294184
commit
40e22c94f2
|
@ -82,7 +82,7 @@ If you only want devices from the loaded backend you can call
|
|||
QList<Device*> devices = backend->scanDevices( excludeReadOnly );
|
||||
```
|
||||
|
||||
where bool option `excludeReadOnly` specifies whether to exclude
|
||||
where `bool` option `excludeReadOnly` specifies whether to exclude
|
||||
read only devices.
|
||||
|
||||
#### KPMcore device scanner
|
||||
|
|
|
@ -116,7 +116,7 @@ bool ExternalCommand::run(int timeout)
|
|||
|
||||
void ExternalCommand::onReadOutput()
|
||||
{
|
||||
const QString s = QString::fromUtf8(readAllStandardOutput());
|
||||
const QByteArray s = readAllStandardOutput();
|
||||
|
||||
if(m_Output.length() > 10*1024*1024) { // prevent memory overflow for badly corrupted file systems
|
||||
if (report())
|
||||
|
@ -127,7 +127,7 @@ void ExternalCommand::onReadOutput()
|
|||
m_Output += s;
|
||||
|
||||
if (report())
|
||||
*report() << s;
|
||||
*report() << QString::fromLocal8Bit(s);
|
||||
}
|
||||
|
||||
void ExternalCommand::onFinished(int exitCode, QProcess::ExitStatus exitStatus)
|
||||
|
|
|
@ -61,7 +61,11 @@ public:
|
|||
return m_ExitCode; /**< @return the exit code */
|
||||
}
|
||||
|
||||
const QString& output() const {
|
||||
const QString output() const {
|
||||
return QString::fromLocal8Bit(m_Output); /**< @return the command output */
|
||||
}
|
||||
|
||||
const QByteArray& rawOutput() const {
|
||||
return m_Output; /**< @return the command output */
|
||||
}
|
||||
|
||||
|
@ -83,7 +87,7 @@ private:
|
|||
QString m_Command;
|
||||
QStringList m_Args;
|
||||
int m_ExitCode;
|
||||
QString m_Output;
|
||||
QByteArray m_Output;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue