]> git.tdb.fi Git - builder.git/blobdiff - source/misc.cpp
Reorder class members
[builder.git] / source / misc.cpp
index a299f0e54b6f1f36c05d338d8c5397eef36495e8..4d2019a5fd28c2a1954884f8683fdb4a691b5292 100644 (file)
@@ -1,12 +1,13 @@
 /* $Id$
 
 This file is part of builder
-Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Copyright © 2006-200 Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
 #include <iostream>
 #include <sys/wait.h>
+#include <fcntl.h>
 #include <cstdlib>
 #include <cstring>
 #include "misc.h"
@@ -14,10 +15,6 @@ Distributed under the LGPL
 using namespace std;
 using namespace Msp;
 
-/**
-Runs a command and returns its output as a string.  The exit status of the
-command is lost.
-*/
 string run_command(const StringList &argv)
 {
        int pfd[2];
@@ -37,7 +34,10 @@ string run_command(const StringList &argv)
 
                close(pfd[0]);
                dup2(pfd[1], 1);
-               dup2(pfd[1], 2);
+               close(pfd[1]);
+               int devnull=open("/dev/null", O_WRONLY);
+               dup2(devnull, 2);
+               close(devnull);
 
                execvp(argv_[0], argv_);
                ::exit(1);