]> git.tdb.fi Git - builder.git/commitdiff
Early check for file existence to avoid exception handling
authorMikko Rasa <tdb@tdb.fi>
Fri, 8 Jun 2012 07:38:52 +0000 (10:38 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 8 Jul 2012 21:08:53 +0000 (00:08 +0300)
source/csourcefile.cpp

index 7c4c453b85be92c66991d58e32b3d0eaf9c24d8f..48935bde831b341148316fa9d5e4c29e9ec998b0 100644 (file)
@@ -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;