summaryrefslogtreecommitdiff
path: root/src/dxfdim.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-06-02 22:15:37 (GMT)
committerMarius Kintel <marius@kintel.net>2013-06-02 22:15:37 (GMT)
commit85c83fbc04f4918159a598793cee47cdafabf8c4 (patch)
treed79d2c7d954424dd2354a16560b693351193d35b /src/dxfdim.cc
parent40ad09637974f840ea4bdd3b7b27e2f5d7388c5b (diff)
parent41f352a7888aebfffd96b0e764e29b3f0cbf01fa (diff)
Merge branch 'master' into issue181
Diffstat (limited to 'src/dxfdim.cc')
-rw-r--r--src/dxfdim.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/dxfdim.cc b/src/dxfdim.cc
index 66842d2..a241b87 100644
--- a/src/dxfdim.cc
+++ b/src/dxfdim.cc
@@ -160,9 +160,16 @@ Value builtin_dxf_cross(const Context *ctx, const EvalContext *evalctx)
}
std::stringstream keystream;
+ fs::path filepath(filename);
+ uintmax_t filesize = -1;
+ time_t lastwritetime = -1;
+ if (fs::exists(filepath) && fs::is_regular_file(filepath)) {
+ filesize = fs::file_size(filepath);
+ lastwritetime = fs::last_write_time(filepath);
+ }
keystream << filename << "|" << layername << "|" << xorigin << "|" << yorigin
- << "|" << scale << "|" << fs::last_write_time(filename)
- << "|" << fs::file_size(filename);
+ << "|" << scale << "|" << lastwritetime
+ << "|" << filesize;
std::string key = keystream.str();
if (dxf_cross_cache.find(key) != dxf_cross_cache.end())
contact: Jan Huwald // Impressum