X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDepTable.C;h=d2fc3f1b9032f5bfc92aafb28637b57245417982;hb=9e5bd1d609877e602cb697bc695d410e2ab48e0d;hp=dd15f5d042899b9346379dde09e745cbbade70fb;hpb=dfe1bc44b44903faf77ef454c98c4c3e56c1d5e3;p=lyx.git diff --git a/src/DepTable.C b/src/DepTable.C index dd15f5d042..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 @@ -22,6 +22,11 @@ #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, unsigned long one, @@ -32,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); } @@ -45,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(); @@ -66,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); @@ -80,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(); @@ -90,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 << " " @@ -113,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;