From: Mikko Rasa Date: Fri, 8 Jun 2012 07:38:52 +0000 (+0300) Subject: Early check for file existence to avoid exception handling X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=f1027d55894e624df4888f9545f1e690a2adf5ae;p=builder.git Early check for file existence to avoid exception handling --- diff --git a/source/csourcefile.cpp b/source/csourcefile.cpp index 7c4c453..48935bd 100644 --- a/source/csourcefile.cpp +++ b/source/csourcefile.cpp @@ -24,7 +24,7 @@ CSourceFile::CSourceFile(Builder &b, const Component &c, const FS::Path &p): void CSourceFile::find_depends() { - if(!comp) + if(!comp || !mtime) return; const SourcePackage &spkg = comp->get_package(); @@ -35,28 +35,19 @@ void CSourceFile::find_depends() includes = deps_cache.get_deps(relname); else { - try - { - IO::BufferedFile in(path.str()); + IO::BufferedFile in(path.str()); - if(builder.get_verbose()>=4) - IO::print("Reading includes from %s\n", path.str()); + if(builder.get_verbose()>=4) + IO::print("Reading includes from %s\n", path.str()); - Regex r_include("^[ \t]*#include[ \t]+([\"<].*)[\">]"); + Regex r_include("^[ \t]*#include[ \t]+([\"<].*)[\">]"); - string line; - while(in.getline(line)) - if(RegMatch match = r_include.match(line)) - includes.push_back(match[1].str); + string line; + while(in.getline(line)) + if(RegMatch match = r_include.match(line)) + includes.push_back(match[1].str); - deps_cache.set_deps(relname, includes); - } - catch(const IO::file_not_found &) - { - if(builder.get_verbose()>=4) - IO::print("Failed to read includes from %s\n", path.str()); - return; - } + deps_cache.set_deps(relname, includes); } const StringList &incpath = comp->get_build_info().incpath;