X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDepTable.C;h=d2fc3f1b9032f5bfc92aafb28637b57245417982;hb=9e5bd1d609877e602cb697bc695d410e2ab48e0d;hp=c9abb08a6c453ae38733a77aca274c1ad1479da7;hpb=6899c9c176e649b62a30b597ad18da74f5003102;p=lyx.git diff --git a/src/DepTable.C b/src/DepTable.C index c9abb08a6c..d2fc3f1b90 100644 --- a/src/DepTable.C +++ b/src/DepTable.C @@ -1,14 +1,14 @@ /* This file is part of - * ====================================================== + * ====================================================== * * LyX, The Document Processor - * Copyright (C) 1995 Matthias Ettrich - * Copyright (C) 1995-1998 The LyX Team. + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2000 The LyX Team. * - * This file is Copyright (C) 1996-1998 + * This file is Copyright 1996-2000 * Lars Gullik Bjønnes * - * ====================================================== + * ====================================================== */ #include @@ -21,9 +21,11 @@ #include "support/lyxlib.h" #include "support/filetools.h" #include + using std::make_pair; using std::ofstream; using std::ifstream; +using std::endl; void DepTable::insert(string const & fi, bool upd, @@ -35,7 +37,7 @@ void DepTable::insert(string const & fi, if (deplist.find(f) == deplist.end()) { if (upd) { one = two; - two = lyxsum(f.c_str()); + two = lyx::sum(f.c_str()); } deplist[f] = make_pair(one, two); } @@ -48,17 +50,20 @@ void DepTable::update() itr != deplist.end(); ++itr) { unsigned long one = (*itr).second.second; - unsigned long two = lyxsum((*itr).first.c_str()); + unsigned long two = lyx::sum((*itr).first.c_str()); (*itr).second = make_pair(one, two); - if (lyxerr.debugging()) { - lyxerr << "update: " << (*itr).first << " " - << one << " " << two << endl; + if (lyxerr.debugging(Debug::DEPEND)) { + lyxerr << "Update dep: " << (*itr).first << " " + << one << " " << two; + if (one != two) + lyxerr << " +"; + lyxerr << endl; } } } -bool DepTable::sumchange() +bool DepTable::sumchange() const { for (DepList::const_iterator cit = deplist.begin(); cit != deplist.end(); @@ -69,7 +74,7 @@ bool DepTable::sumchange() } -bool DepTable::haschanged(string const & f) +bool DepTable::haschanged(string const & f) const { // not quite sure if this is the correct place for MakeAbsPath string fil = MakeAbsPath(f); @@ -83,7 +88,7 @@ bool DepTable::haschanged(string const & f) } -bool DepTable::extchanged(string const & ext) +bool DepTable::extchanged(string const & ext) const { for (DepList::const_iterator cit = deplist.begin(); cit != deplist.end(); @@ -93,18 +98,38 @@ bool DepTable::extchanged(string const & ext) return true; } } - return false; } -void DepTable::write(string const & f) +bool DepTable::exist(string const & fil) const +{ + DepList::const_iterator cit = deplist.find(fil); + if (cit != deplist.end()) return true; + return false; +} + + +void DepTable::remove_files_with_extension(string const & suf) +{ + DepList tmp; + for (DepList::const_iterator cit = deplist.begin(); + cit != deplist.end(); ++cit) { + if (!suffixIs((*cit).first, suf.c_str())) + tmp[(*cit).first] = (*cit).second; + } + deplist.swap(tmp); + +} + + +void DepTable::write(string const & f) const { ofstream ofs(f.c_str()); for (DepList::const_iterator cit = deplist.begin(); cit != deplist.end(); ++cit) { - if (lyxerr.debugging()) { + if (lyxerr.debugging(Debug::DEPEND)) { lyxerr << "Write dep: " << (*cit).first << " " << (*cit).second.first << " " @@ -116,15 +141,16 @@ void DepTable::write(string const & f) } } -void DepTable::read(string const &f) + +void DepTable::read(string const & f) { ifstream ifs(f.c_str()); string nome; unsigned long one = 0; unsigned long two = 0; while(ifs >> nome >> one >> two) { - if (lyxerr.debugging()) { - lyxerr << "read dep: " + if (lyxerr.debugging(Debug::DEPEND)) { + lyxerr << "Read dep: " << nome << " " << one << " " << two << endl;