X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/66806a0bf07e9973a4b3e5ff58f98b9e439bab08..28be2e8a170979d476a5ea4f585505b8a2f5af27:/src/common/mimecmn.cpp?ds=sidebyside diff --git a/src/common/mimecmn.cpp b/src/common/mimecmn.cpp index 25a0eedb28..7a773543f0 100644 --- a/src/common/mimecmn.cpp +++ b/src/common/mimecmn.cpp @@ -158,8 +158,7 @@ wxString wxFileType::ExpandCommand(const wxString& command, const wxChar *pEnd = wxStrchr(pc, wxT('}')); if ( pEnd == NULL ) { wxString mimetype; - wxLogWarning(_("Unmatched '{' in an entry for " - "mime type %s."), + wxLogWarning(_("Unmatched '{' in an entry for mime type %s."), params.GetMimeType().c_str()); str << wxT("%{"); } @@ -190,8 +189,16 @@ wxString wxFileType::ExpandCommand(const wxString& command, } // metamail(1) man page states that if the mailcap entry doesn't have '%s' - // the program will accept the data on stdin: so give it to it! - if ( !hasFilename && !str.IsEmpty() ) { + // the program will accept the data on stdin so normally we should append + // "< %s" to the end of the command in such case, but not all commands + // behave like this, in particular a common test is 'test -n "$DISPLAY"' + // and appending "< %s" to this command makes the test fail... I don't + // know of the correct solution, try to guess what we have to do. + if ( !hasFilename && !str.IsEmpty() +#ifdef __UNIX__ + && !str.StartsWith(_T("test ")) +#endif // Unix + ) { str << wxT(" < '") << params.GetFileName() << wxT('\''); }