]> git.lyx.org Git - lyx.git/blobdiff - src/lyxlex_pimpl.C
architectural changes to tex2lyx
[lyx.git] / src / lyxlex_pimpl.C
index da7d92d9a3ab2b76c11e49dbe3412217e168165f..d384bd8e3c4ca8d9185b855fff2c7c2cda9aebf4 100644 (file)
@@ -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();
        }
-
 }