X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fexternaltask.cpp;h=37a36d39150da641b3a39e91d5c0fb866576af02;hb=d1f9551e05c9d341149eb490e05b1465d3d6b711;hp=16d1df096dd4a23eee3f60b2e54a8cf289de9884;hpb=8a98d59b2b4954f51eb3f649d3675af976154de6;p=builder.git diff --git a/source/externaltask.cpp b/source/externaltask.cpp index 16d1df0..37a36d3 100644 --- a/source/externaltask.cpp +++ b/source/externaltask.cpp @@ -11,13 +11,7 @@ using namespace Msp; ExternalTask::ExternalTask(const Arguments &a, const FS::Path &wd): argv(a), - work_dir(wd), - process(0), - exit_code(-1), - stdin_action(PASSTHROUGH), - stdout_action(PASSTHROUGH), - stderr_action(PASSTHROUGH), - capture_pipe(0) + work_dir(wd) { if(argv.empty()) throw invalid_argument("ExternalTask::ExternalTask"); @@ -31,16 +25,16 @@ ExternalTask::~ExternalTask() string ExternalTask::get_command() const { string cmd; - for(vector::const_iterator i=argv.begin(); i!=argv.end(); ++i) + for(const string &a: argv) { - if(i!=argv.begin()) + if(!cmd.empty()) cmd += ' '; - for(string::const_iterator j=i->begin(); j!=i->end(); ++j) + for(char c: a) { - if(*j=='"' || *j=='\'' || *j==' ' || *j=='\\' || *j=='&') + if(c=='"' || c=='\'' || c==' ' || c=='\\' || c=='&') cmd += '\\'; - cmd += *j; + cmd += c; } }