]> git.lyx.org Git - lyx.git/blobdiff - src/Format.cpp
Add test-refstyle-references to cmake. Also added missing file test-refstyle-referenc...
[lyx.git] / src / Format.cpp
index c20ac9ed43fbb7896aae91156cc7e9dbee3ac7ee..7e634b48becd98a8d3799ee3b80f47379d88a3d1 100644 (file)
@@ -59,7 +59,8 @@ string const token_socket_format("$$a");
 class FormatNamesEqual : public unary_function<Format, bool> {
 public:
        FormatNamesEqual(string const & name)
-               : name_(name) {}
+               : name_(name)
+       {}
        bool operator()(Format const & f) const
        {
                return f.name() == name_;
@@ -72,7 +73,8 @@ private:
 class FormatExtensionsEqual : public unary_function<Format, bool> {
 public:
        FormatExtensionsEqual(string const & extension)
-               : extension_(extension) {}
+               : extension_(extension)
+       {}
        bool operator()(Format const & f) const
        {
                return f.hasExtension(extension_);
@@ -85,7 +87,8 @@ private:
 class FormatMimeEqual : public unary_function<Format, bool> {
 public:
        FormatMimeEqual(string const & mime)
-               : mime_(mime) {}
+               : mime_(mime)
+       {}
        bool operator()(Format const & f) const
        {
                // The test for empty mime strings is needed since we allow
@@ -100,7 +103,8 @@ private:
 class FormatPrettyNameEqual : public unary_function<Format, bool> {
 public:
        FormatPrettyNameEqual(string const & prettyname)
-               : prettyname_(prettyname) {}
+               : prettyname_(prettyname)
+       {}
        bool operator()(Format const & f) const
        {
                return f.prettyname() == prettyname_;
@@ -375,32 +379,34 @@ string Formats::getFormatFromFile(FileName const & filename) const
                return string();
 
 #ifdef HAVE_MAGIC_H
-       magic_t magic_cookie = magic_open(MAGIC_MIME);
-       if (magic_cookie) {
-               string format;
-               if (magic_load(magic_cookie, NULL) != 0) {
-                       LYXERR(Debug::GRAPHICS, "Formats::getFormatFromFile\n"
-                               << "\tCouldn't load magic database - "
-                               << magic_error(magic_cookie));
-               } else {
-                       string mime = magic_file(magic_cookie,
-                               filename.toFilesystemEncoding().c_str());
-                       mime = token(mime, ';', 0);
-                       // we need our own ps/eps detection
-                       if (mime != "application/postscript") {
-                               Formats::const_iterator cit =
-                                       find_if(formatlist.begin(), formatlist.end(),
-                                               FormatMimeEqual(mime));
-                               if (cit != formats.end()) {
-                                       LYXERR(Debug::GRAPHICS, "\tgot format from MIME type: "
-                                               << mime << " -> " << cit->name());
-                                       format = cit->name();
+       if (filename.exists()) {
+               magic_t magic_cookie = magic_open(MAGIC_MIME);
+               if (magic_cookie) {
+                       string format;
+                       if (magic_load(magic_cookie, NULL) != 0) {
+                               LYXERR(Debug::GRAPHICS, "Formats::getFormatFromFile\n"
+                                       << "\tCouldn't load magic database - "
+                                       << magic_error(magic_cookie));
+                       } else {
+                               string mime = magic_file(magic_cookie,
+                                       filename.toFilesystemEncoding().c_str());
+                               mime = token(mime, ';', 0);
+                               // we need our own ps/eps detection
+                               if ((mime != "application/postscript") && (mime != "text/plain")) {
+                                       Formats::const_iterator cit =
+                                               find_if(formatlist.begin(), formatlist.end(),
+                                                       FormatMimeEqual(mime));
+                                       if (cit != formats.end()) {
+                                               LYXERR(Debug::GRAPHICS, "\tgot format from MIME type: "
+                                                       << mime << " -> " << cit->name());
+                                               format = cit->name();
+                                       }
                                }
                        }
+                       magic_close(magic_cookie);
+                       if (!format.empty())
+                               return format;
                }
-               magic_close(magic_cookie);
-               if (!format.empty())
-                       return format;
        }
 #endif
 
@@ -474,7 +480,7 @@ bool Formats::isZippedFile(support::FileName const & filename) const {
                return it->second.zipped;
        string const & format = getFormatFromFile(filename);
        bool zipped = (format == "gzip" || format == "zip");
-       zipped_.insert(pair<string, ZippedInfo>(fname, ZippedInfo(zipped, timestamp)));
+       zipped_.insert(make_pair(fname, ZippedInfo(zipped, timestamp)));
        return zipped;
 }
 
@@ -761,8 +767,10 @@ string const Formats::extensions(string const & name) const
 
 
 namespace {
+
 typedef Translator<OutputParams::FLAVOR, string> FlavorTranslator;
 
+
 FlavorTranslator initFlavorTranslator()
 {
        FlavorTranslator f(OutputParams::LATEX, "latex");
@@ -782,6 +790,7 @@ FlavorTranslator const & flavorTranslator()
        static FlavorTranslator translator = initFlavorTranslator();
        return translator;
 }
+
 }