X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fconfig.cpp;h=de6b9bce34525c0f86e4dd4f2b3a306840807649;hb=97001ddfa2463e6a3526eff772962acdad45f995;hp=50e0de9f9a165bfd9e461c6d8a194e1a756c316c;hpb=59ac0a44d6edf179c01604c6ced744873213f855;p=builder.git diff --git a/source/config.cpp b/source/config.cpp index 50e0de9..de6b9bc 100644 --- a/source/config.cpp +++ b/source/config.cpp @@ -1,4 +1,7 @@ +#include #include +#include +#include #include "config.h" using namespace std; @@ -37,9 +40,22 @@ bool Config::process(const RawOptionMap &opts) } } + if(changed) + mtime=Time::now(); + return changed; } +void Config::load(const Path::Path &fn) +{ + ifstream in(fn.str().c_str()); + if(!in) return; + + struct stat st; + Path::stat(fn, st); + mtime=Time::TimeStamp::from_unixtime(st.st_mtime); +} + Config::Option::Option(const string &n, const string &v, const string &d): name(n), defv(v),