diff options
author | Marius Kintel <marius@kintel.net> | 2011-04-12 18:35:44 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-04-12 18:35:44 (GMT) |
commit | d24b3cc84d0701a5423925765e515db7df9614c5 (patch) | |
tree | 0d63867d8b5a3c6ffe107371caa6b29cf8ad0f02 /src/dxfdim.cc | |
parent | 633343c47e0d2bced64d47f62e814489b8e76dc2 (diff) | |
parent | 1754a970a76c071fff91cc7c716aa0b78b4ac6be (diff) |
Ported recent changes to master into the visitor branch
Diffstat (limited to 'src/dxfdim.cc')
-rw-r--r-- | src/dxfdim.cc | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/dxfdim.cc b/src/dxfdim.cc index e1444c7..f8008f5 100644 --- a/src/dxfdim.cc +++ b/src/dxfdim.cc @@ -1,6 +1,7 @@ /* - * OpenSCAD (www.openscad.at) - * Copyright (C) 2009 Clifford Wolf <clifford@clifford.at> + * OpenSCAD (www.openscad.org) + * Copyright (C) 2009-2011 Clifford Wolf <clifford@clifford.at> and + * Marius Kintel <marius@kintel.net> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,11 +32,10 @@ #include "printutils.h" #include "context.h" -#include <math.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> +#include "mathc99.h" #include <QHash> +#include <QDateTime> +#include <QFileInfo> QHash<QString,Value> dxf_dim_cache; QHash<QString,Value> dxf_cross_cache; @@ -62,12 +62,10 @@ Value builtin_dxf_dim(const Context *ctx, const QVector<QString> &argnames, cons name = QString::fromStdString(args[i].text); } - struct stat st; - memset(&st, 0, sizeof(struct stat)); - stat(filename.toAscii().data(), &st); + QFileInfo fileInfo(filename); QString key = filename + "|" + layername + "|" + name + "|" + QString::number(xorigin) + "|" + QString::number(yorigin) + - "|" + QString::number(scale) + "|" + QString::number(st.st_mtime) + "|" + QString::number(st.st_size); + "|" + QString::number(scale) + "|" + QString::number(fileInfo.lastModified().toTime_t()) + "|" + QString::number(fileInfo.size()); if (dxf_dim_cache.contains(key)) return dxf_dim_cache[key]; @@ -144,12 +142,10 @@ Value builtin_dxf_cross(const Context *ctx, const QVector<QString> &argnames, co args[i].getnum(scale); } - struct stat st; - memset(&st, 0, sizeof(struct stat)); - stat(filename.toAscii().data(), &st); + QFileInfo fileInfo(filename); QString key = filename + "|" + layername + "|" + QString::number(xorigin) + "|" + QString::number(yorigin) + - "|" + QString::number(scale) + "|" + QString::number(st.st_mtime) + "|" + QString::number(st.st_size); + "|" + QString::number(scale) + "|" + QString::number(fileInfo.lastModified().toTime_t()) + "|" + QString::number(fileInfo.size()); if (dxf_cross_cache.contains(key)) return dxf_cross_cache[key]; |