]> git.tdb.fi Git - builder.git/blobdiff - source/misc.cpp
Use mspio for all I/O operations
[builder.git] / source / misc.cpp
index ab61d9f1fe0f38058917de552b6d8bfc3b0deb19..cf97c5506db3526535cfdbbfe3e3a9390224e8e6 100644 (file)
@@ -1,24 +1,20 @@
 /* $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 <msp/io/print.h>
 #include "misc.h"
 
 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];
@@ -47,7 +43,7 @@ string run_command(const StringList &argv)
                ::exit(1);
        }
        else if(pid==-1)
-               cerr<<"Failed to execute "<<argv.front()<<'\n';
+               IO::print(IO::cerr, "Failed to execute %s\n", argv.front());
        else
        {
                close(pfd[1]);
@@ -63,6 +59,7 @@ string run_command(const StringList &argv)
                        else
                                result.append(buf, len);
                }
+               close(pfd[0]);
        }
 
        return result;