X-Git-Url: http://git.tdb.fi/?p=builder.git;a=blobdiff_plain;f=source%2Fexternalaction.cpp;h=de799e4c550877e91927d8b85bcd5596d2b9b3f0;hp=97f6c619f426cb16e50cef20aa170e2008b86ea7;hb=445edbc3c42bbd7880cc414cf153ddfd196bfc1c;hpb=b6dcf65b5e1b99f6c65454358c7610f3e9c8af2b diff --git a/source/externalaction.cpp b/source/externalaction.cpp index 97f6c61..de799e4 100644 --- a/source/externalaction.cpp +++ b/source/externalaction.cpp @@ -1,6 +1,5 @@ #include #include -#include #include "builder.h" #include "externalaction.h" @@ -14,7 +13,7 @@ int ExternalAction::check() signal_done.emit(); return 0; } - + if(!pid) return exit_code; @@ -48,7 +47,7 @@ void ExternalAction::launch() } cout<<'\n'; } - + if(builder.get_dry_run()) pid=-1; else @@ -57,9 +56,12 @@ void ExternalAction::launch() if(pid==0) { char *argv_[argv.size()+1]; - for(CountingIterator i=argv.begin(); i!=argv.end(); ++i) - argv_[i.count()]=strdup(i->c_str()); - argv_[argv.size()]=0; + + unsigned j=0; + for(StringList::iterator i=argv.begin(); i!=argv.end(); ++i) + argv_[j++]=strdup(i->c_str()); + argv_[j]=0; + execvp(argv_[0], argv_); cout<<"Couldn't execute "<