X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDepTable.C;h=2718bcacf934fb4d4565f341fa376f4bcb95ebe4;hb=e7ef29fa2d516b8593aa3cccb6548de5686e8a9a;hp=dd487fcd39a1ec27702d19a6b9c6e63411a4d030;hpb=9548351ef8ceaa1c779267e4eeccd3a0d83a0374;p=lyx.git diff --git a/src/DepTable.C b/src/DepTable.C index dd487fcd39..2718bcacf9 100644 --- a/src/DepTable.C +++ b/src/DepTable.C @@ -1,47 +1,46 @@ -/* This file is part of - * ====================================================== +/** + * \file DepTable.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * LyX, The Document Processor - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author Ben Stanley * - * This file is Copyright 1996-2001 - * Lars Gullik Bjønnes - * Ben Stanley - * - * ====================================================== + * Full author contact details are available in file CREDITS. */ #include -#ifdef __GNUG__ -#pragma implementation -#endif - #include "DepTable.h" + #include "debug.h" #include "support/lyxlib.h" #include "support/filetools.h" #include "support/lstrings.h" +#include "support/lyxtime.h" -#include #include -#include #include -#include #ifndef CXX_GLOBAL_CSTD using std::time; #endif -using std::make_pair; +using lyx::support::ltrim; +using lyx::support::MakeAbsPath; +using lyx::support::OnlyFilename; +using lyx::support::suffixIs; +using lyx::support::sum; + +using std::endl; +using std::flush; +using std::getline; +using std::string; using std::ofstream; using std::ifstream; -using std::flush; -using std::endl; - inline bool DepTable::dep_info::changed() const @@ -59,7 +58,7 @@ void DepTable::insert(string const & fi, bool upd) di.crc_prev = 0; if (upd) { lyxerr[Debug::DEPEND] << " CRC..." << flush; - di.crc_cur = lyx::sum(f); + di.crc_cur = sum(f); lyxerr[Debug::DEPEND] << "done." << endl; struct stat f_info; stat(fi.c_str(), &f_info); @@ -78,7 +77,7 @@ void DepTable::insert(string const & fi, bool upd) void DepTable::update() { lyxerr[Debug::DEPEND] << "Updating DepTable..." << endl; - time_t start_time = time(0); + lyx::time_type const start_time = lyx::current_time(); DepList::iterator itr = deplist.begin(); while (itr != deplist.end()) { @@ -88,12 +87,12 @@ void DepTable::update() if (stat(itr->first.c_str(), &f_info) == 0) { if (di.mtime_cur == f_info.st_mtime) { di.crc_prev = di.crc_cur; - lyxerr[Debug::DEPEND] << itr->first << " same mtime"; + lyxerr[Debug::DEPEND] << itr->first << " same mtime" << endl; } else { di.crc_prev = di.crc_cur; - lyxerr[Debug::DEPEND] << itr->first << " CRC... "; - di.crc_cur = lyx::sum(itr->first); - lyxerr[Debug::DEPEND] << "done"; + lyxerr[Debug::DEPEND] << itr->first << " CRC... " << flush; + di.crc_cur = sum(itr->first); + lyxerr[Debug::DEPEND] << "done" << endl; } } else { // file doesn't exist @@ -113,7 +112,7 @@ void DepTable::update() } ++itr; } - time_t time_sec = time(0) - start_time; + lyx::time_type const time_sec = lyx::current_time() - start_time; lyxerr[Debug::DEPEND] << "Finished updating DepTable (" << time_sec << " sec)." << endl; } @@ -225,18 +224,18 @@ void DepTable::write(string const & f) const // CRC value. // The older one is effectively set to 0 upon re-load. lyxerr << "Write dep: " - << cit->first << " " - << cit->second.crc_cur << " " - << cit->second.mtime_cur << endl; + << cit->second.crc_cur << ' ' + << cit->second.mtime_cur << ' ' + << cit->first << endl; } - ofs << cit->first << " " - << cit->second.crc_cur << " " - << cit->second.mtime_cur << endl; + ofs << cit->second.crc_cur << ' ' + << cit->second.mtime_cur << ' ' + << cit->first << endl; } } -void DepTable::read(string const & f) +bool DepTable::read(string const & f) { ifstream ifs(f.c_str()); string nome; @@ -244,13 +243,15 @@ void DepTable::read(string const & f) // This doesn't change through the loop. di.crc_prev = 0; - while (ifs >> nome >> di.crc_cur >> di.mtime_cur) { + while (ifs >> di.crc_cur >> di.mtime_cur && getline(ifs, nome)) { + nome = ltrim(nome); if (lyxerr.debugging(Debug::DEPEND)) { lyxerr << "Read dep: " - << nome << " " - << di.crc_cur << " " - << di.mtime_cur << endl; + << di.crc_cur << ' ' + << di.mtime_cur << ' ' + << nome << endl; } deplist[nome] = di; } + return deplist.size(); }