]> git.lyx.org Git - lyx.git/blobdiff - src/lyxlex_pimpl.C
The Gtk patch.
[lyx.git] / src / lyxlex_pimpl.C
index da7d92d9a3ab2b76c11e49dbe3412217e168165f..0f7d57a6732214403adde4e8e669cae6e7626c9b 100644 (file)
@@ -1,3 +1,15 @@
+/**
+ * \file lyxlex_pimpl.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author Jürgen Vigna
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
 #include <config.h>
 
 #include "lyxlex_pimpl.h"
@@ -58,7 +70,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 +87,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 +125,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 +146,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 +158,6 @@ bool LyXLex::Pimpl::setFile(string const & filename)
                lineno = 0;
                return fb__.is_open() && is.good();
        }
-
 }