]> git.tdb.fi Git - builder.git/blobdiff - source/externalaction.cpp
Add comments
[builder.git] / source / externalaction.cpp
index bae244ce7cf471633106154e99de956c245b2eab..0ae68ff05f30bd297b314de7a77ac3e471192cb0 100644 (file)
@@ -16,7 +16,7 @@ int ExternalAction::check()
        }
        
        if(!pid)
-               return 255;
+               return exit_code;
 
        int status;
        if(waitpid(pid, &status, WNOHANG)==pid)
@@ -26,17 +26,21 @@ int ExternalAction::check()
                        exit_code=WEXITSTATUS(status);
                else
                        exit_code=254;
+               pid=0;
                return exit_code;
        }
        else
                return -1;
 }
 
+/**
+Starts the external program.  Fill in argv before calling this.
+*/
 void ExternalAction::launch()
 {
        if(builder.get_verbose()>=2)
        {
-               for(list<string>::const_iterator i=argv.begin(); i!=argv.end(); ++i)
+               for(StringList::const_iterator i=argv.begin(); i!=argv.end(); ++i)
                {
                        if(i!=argv.begin())
                                cout<<' ';
@@ -53,7 +57,7 @@ void ExternalAction::launch()
                if(pid==0)
                {
                        char *argv_[argv.size()+1];
-                       for(CountingIterator<string, list<string>::iterator> i=argv.begin(); i!=argv.end(); ++i)
+                       for(CountingIterator<string, StringList::iterator> i=argv.begin(); i!=argv.end(); ++i)
                                argv_[i.count()]=strdup(i->c_str());
                        argv_[argv.size()]=0;
                        execvp(argv_[0], argv_);