From f1027d55894e624df4888f9545f1e690a2adf5ae Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Fri, 8 Jun 2012 10:38:52 +0300 Subject: [PATCH] Early check for file existence to avoid exception handling --- source/csourcefile.cpp | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) 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; -- 2.45.2