From: Peter Penz Date: Wed, 29 Jul 2009 06:31:20 +0000 (+0000) Subject: Use QProcess instead of the low-level API popen(). Thanks to André Wöbbeking for... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/d4ba16b900782cbc5688e67b07de02abe1866c39 Use QProcess instead of the low-level API popen(). Thanks to André Wöbbeking for the hint. svn path=/trunk/KDE/kdebase/apps/; revision=1004024 --- diff --git a/src/revisioncontrolplugin.cpp b/src/revisioncontrolplugin.cpp index a5cfba5b9..3fc562eae 100644 --- a/src/revisioncontrolplugin.cpp +++ b/src/revisioncontrolplugin.cpp @@ -19,8 +19,6 @@ #include "revisioncontrolplugin.h" -#include - RevisionControlPlugin::RevisionControlPlugin() { } @@ -35,15 +33,17 @@ RevisionControlPlugin::~RevisionControlPlugin() #include #include +#include #include #include #include #include -#include #include #include #include +#include #include +#include #include #include @@ -101,14 +101,17 @@ bool SubversionPlugin::beginRetrieval(const QString& directory) { Q_ASSERT(directory.endsWith('/')); - const QString statusCommand = "svn status " + directory; - FILE* in = popen(statusCommand.toAscii().data(), "r"); - if (in == 0) { + QStringList arguments; + arguments << "status" << directory; + + QProcess process; + process.start("svn", arguments); + if (!process.waitForReadyRead()) { return false; } char buffer[1024]; - while (fgets(buffer, sizeof(buffer), in) != 0) { + while (process.readLine(buffer, sizeof(buffer)) > 0) { RevisionState state = NormalRevision; switch (buffer[0]) {