X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftar.cpp;h=8de76fe34feca85787d3d4f26f802ecea68332d9;hb=aa053d637e8259755af7d2e4b510a242f4d29c7b;hp=6dee843df7ef4de8bee1baae45509a7fb2f34699;hpb=4e2a160d94ca808cfb511cc2d38e115d989809f2;p=builder.git diff --git a/source/tar.cpp b/source/tar.cpp index 6dee843..8de76fe 100644 --- a/source/tar.cpp +++ b/source/tar.cpp @@ -17,14 +17,14 @@ Tar::Tar(Builder &b): processing_unit = COMPONENT; } -Target *Tar::create_target(const list &sources, const string &arg) +Target *Tar::create_target(const vector &sources, const string &arg) { - if(!sources.front()->get_package()) + if(sources.empty() || !sources.front()->get_package()) throw invalid_argument("Tar::create_target"); TarBall *tarball = new TarBall(builder, *sources.front()->get_package(), arg); - for(list::const_iterator i=sources.begin(); i!=sources.end(); ++i) - tarball->add_dependency(**i); + for(Target *s: sources) + tarball->add_dependency(*s); tarball->set_tool(*this); @@ -49,10 +49,9 @@ void Tar::Worker::main() FS::Path basedir = FS::basepart(FS::basename(tarball.get_path())); IO::File out(tarball.get_path().str(), IO::M_WRITE); - const Target::Dependencies &deps = tarball.get_dependencies(); - for(Target::Dependencies::const_iterator i=deps.begin(); i!=deps.end(); ++i) + for(Target *d: tarball.get_dependencies()) { - FileTarget *ft = dynamic_cast(*i); + FileTarget *ft = dynamic_cast(d); if(!ft) continue;