]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Use QProcess instead of the low-level API popen(). Thanks to André Wöbbeking for...
authorPeter Penz <peter.penz19@gmail.com>
Wed, 29 Jul 2009 06:31:20 +0000 (06:31 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 29 Jul 2009 06:31:20 +0000 (06:31 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=1004024

src/revisioncontrolplugin.cpp

index a5cfba5b941db883cdd931520d8d35bc86b8238c..3fc562eae47c37e56743a3bd0acb626e7cb27fae 100644 (file)
@@ -19,8 +19,6 @@
 
 #include "revisioncontrolplugin.h"
 
 
 #include "revisioncontrolplugin.h"
 
-#include <stdio.h>
-
 RevisionControlPlugin::RevisionControlPlugin()
 {
 }
 RevisionControlPlugin::RevisionControlPlugin()
 {
 }
@@ -35,15 +33,17 @@ RevisionControlPlugin::~RevisionControlPlugin()
 
 #include <kaction.h>
 #include <kdialog.h>
 
 #include <kaction.h>
 #include <kdialog.h>
+#include <kfileitem.h>
 #include <kicon.h>
 #include <klocale.h>
 #include <krun.h>
 #include <kshell.h>
 #include <kicon.h>
 #include <klocale.h>
 #include <krun.h>
 #include <kshell.h>
-#include <kfileitem.h>
 #include <kvbox.h>
 #include <QDir>
 #include <QLabel>
 #include <kvbox.h>
 #include <QDir>
 #include <QLabel>
+#include <QProcess>
 #include <QString>
 #include <QString>
+#include <QStringList>
 #include <QTextEdit>
 #include <QTextStream>
 
 #include <QTextEdit>
 #include <QTextStream>
 
@@ -101,14 +101,17 @@ bool SubversionPlugin::beginRetrieval(const QString& directory)
 {
     Q_ASSERT(directory.endsWith('/'));
 
 {
     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];
         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]) {
         RevisionState state = NormalRevision;
 
         switch (buffer[0]) {