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_;
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_);
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
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_;
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
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;
}
namespace {
+
typedef Translator<OutputParams::FLAVOR, string> FlavorTranslator;
+
FlavorTranslator initFlavorTranslator()
{
FlavorTranslator f(OutputParams::LATEX, "latex");
static FlavorTranslator translator = initFlavorTranslator();
return translator;
}
+
}