X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxlex_pimpl.C;h=d384bd8e3c4ca8d9185b855fff2c7c2cda9aebf4;hb=c544107e324090c6eafb4c56749da2624b9b1122;hp=da7d92d9a3ab2b76c11e49dbe3412217e168165f;hpb=a16c8a8759f48b9f49dc9bf24b37384c536ed515;p=lyx.git diff --git a/src/lyxlex_pimpl.C b/src/lyxlex_pimpl.C index da7d92d9a3..d384bd8e3c 100644 --- a/src/lyxlex_pimpl.C +++ b/src/lyxlex_pimpl.C @@ -58,7 +58,7 @@ void LyXLex::Pimpl::printError(string const & message) const void LyXLex::Pimpl::printTable(ostream & os) { - os << "\nNumber of tags: " << no_items << '\n'; + os << "\nNumber of tags: " << no_items << endl; for (int i= 0; i < no_items; ++i) os << "table[" << i << "]: tag: `" << table[i].tag @@ -75,11 +75,11 @@ void LyXLex::Pimpl::verifyTable() lyxerr << "The table passed to LyXLex is not sorted!\n" << "Tell the developers to fix it!" << endl; // We sort it anyway to avoid problems. - lyxerr << "\nUnsorted:\n"; + lyxerr << "\nUnsorted:" << endl; printTable(lyxerr); sort(table, table + no_items, compare_tags()); - lyxerr << "\nSorted:\n"; + lyxerr << "\nSorted:" << endl; printTable(lyxerr); } } @@ -113,15 +113,16 @@ void LyXLex::Pimpl::popTable() bool LyXLex::Pimpl::setFile(string const & filename) { - // Is this a compressed file or not? - bool const compressed = (filename.substr(filename.size() - 3, 3) == ".gz"); - // The check only outputs a debug message, because it triggers - // a bug in compaq cxx 6.2, where is_open() returns 'true' for a - // fresh new filebuf. (JMarc) - if (compressed) { + // Check the format of the file. + string const format = getExtFromContents(filename); + + if (format == "gzip" || format == "zip" || format == "compress") { lyxerr << "lyxlex: compressed" << endl; + // The check only outputs a debug message, because it triggers + // a bug in compaq cxx 6.2, where is_open() returns 'true' for + // a fresh new filebuf. (JMarc) if (gz__.is_open() || is.tellg() > 0) lyxerr[Debug::LYXLEX] << "Error in LyXLex::setFile: " "file or stream already set." << endl; @@ -133,6 +134,9 @@ bool LyXLex::Pimpl::setFile(string const & filename) } else { lyxerr << "lyxlex: UNcompressed" << endl; + // The check only outputs a debug message, because it triggers + // a bug in compaq cxx 6.2, where is_open() returns 'true' for + // a fresh new filebuf. (JMarc) if (fb__.is_open() || is.tellg() > 0) lyxerr[Debug::LYXLEX] << "Error in LyXLex::setFile: " "file or stream already set." << endl; @@ -142,7 +146,6 @@ bool LyXLex::Pimpl::setFile(string const & filename) lineno = 0; return fb__.is_open() && is.good(); } - }