From: Mikko Rasa Date: Thu, 7 Feb 2008 15:24:17 +0000 (+0000) Subject: Converted from iostreams to mspio X-Git-Tag: 0.9~14 X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=b3b2a8666defb9e1a5937bcfefc1bc8e02793aab;p=builder.git Converted from iostreams to mspio --- diff --git a/source/builder.cpp b/source/builder.cpp index caf7fe5..21e7dcd 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -5,12 +5,13 @@ Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ -#include #include #include #include #include #include +#include +#include #include #include #include @@ -472,9 +473,8 @@ Loads the given build file. */ int Builder::load_build_file(const Path &fn) { - ifstream in(fn.str().c_str()); - if(!in) - return -1; + IO::File inf(fn.str()); + IO::Buffered in(inf); if(verbose>=3) cout<<"Reading "< #include +#include +#include #include #include #include "builder.h" @@ -60,13 +61,15 @@ default profile is assumed. */ void Config::select_last_profile() { - ifstream in((package.get_source()/".profile.cache").str().c_str()); - if(in) + try { + IO::File in((package.get_source()/".profile.cache").str()); string profile; - getline(in, profile); + in.getline(profile); set_option("profile", profile); } + catch(const SystemError &) + { } freeze_mtime=true; package.get_builder().apply_profile_template(*this, get_option("profile").value); @@ -85,9 +88,13 @@ void Config::select_profile(const string &profile) if(!package.get_builder().get_dry_run()) { - ofstream out((package.get_source()/".profile.cache").str().c_str()); - if(out) - out<second.value+".cache"); - ofstream out(fn.str().c_str()); - if(!out) return; + try + { + IO::File out(fn.str()); - for(i=options.begin(); i!=options.end(); ++i) - out<<"option \""<second.name<<"\" \""<second.value<<"\";\n"; + for(i=options.begin(); i!=options.end(); ++i) + IO::print(out, "option \"%s\" \"%s\";\n", i->second.name, i->second.value); + } + catch(const SystemError &) + { } } bool Config::set_option(const string &opt, const string &val) @@ -207,14 +218,18 @@ void Config::load() if(i!=options.end()) fn=package.get_source()/(".options."+i->second.value+".cache"); - ifstream in(fn.str().c_str()); - if(!in) return; + try + { + IO::File in(fn.str()); - mtime=Time::TimeStamp::from_unixtime(stat(fn).st_mtime); + mtime=Time::TimeStamp::from_unixtime(stat(fn).st_mtime); - DataFile::Parser parser(in, fn.str()); - Loader loader(*this); - loader.load(parser); + DataFile::Parser parser(in, fn.str()); + Loader loader(*this); + loader.load(parser); + } + catch(const SystemError &) + { } } diff --git a/source/tar.cpp b/source/tar.cpp index da57925..0b61b39 100644 --- a/source/tar.cpp +++ b/source/tar.cpp @@ -6,6 +6,7 @@ Distributed under the LGPL */ #include +#include #include #include "builder.h" #include "sourcepackage.h" @@ -40,7 +41,7 @@ void Tar::Worker::main() const Path &pkg_src=tar.tarball.get_package()->get_source(); Path basedir=splitext(basename(tar.tarball.get_name())).base; - ofstream out(tar.tarball.get_name().c_str()); + IO::File out(tar.tarball.get_name(), IO::M_WRITE); const TargetList &deps=tar.tarball.get_depends(); for(TargetList::const_iterator i=deps.begin(); i!=deps.end(); ++i) { @@ -73,11 +74,10 @@ void Tar::Worker::main() buf[155]=0; out.write(buf, 512); - ifstream in((*i)->get_name().c_str()); + IO::File in((*i)->get_name()); for(int j=0; j