X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcommon%2Fmime.cpp;h=cf571e134274905bcfc749870a3b91d7a3149680;hb=f69e09d827e06435ea94bb73aa71ab5f9d5c035b;hp=5db593c64bb1e3b4f035f93cc16f9c82449386fc;hpb=969329975a0af9d346c76dc34e9ff9cd54cc61ee;p=xestiaab%2F.git diff --git a/source/common/mime.cpp b/source/common/mime.cpp index 5db593c..cf571e1 100644 --- a/source/common/mime.cpp +++ b/source/common/mime.cpp @@ -1,83 +1,75 @@ +// mime.cpp - MIME subroutines. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include wxString GetMIME(wxString FilenameInc){ - wxString MIMEResult; + wxString MIMEResult; - // Check if file exists first before doing anything with it. + // Check if file exists first before doing anything with it. - if (!wxFileExists(FilenameInc)){ + if (!wxFileExists(FilenameInc)){ - // File doesn't exist so return. + // File doesn't exist so return. - wxMessageBox(_("The file with the filename given doesn't exist."), _("Error opening picture/audio file"), wxICON_ERROR); - return wxEmptyString; + wxMessageBox(_("The file with the filename given doesn't exist."), _("Error opening picture/audio file"), wxICON_ERROR); + return wxEmptyString; - } + } #if defined(__WIN32__) - // TODO: Sort out Win32. + // TODO: Sort out Win32. -#elif defined(__APPLE__) +#else #include - FILE *MIMEIn; + FILE *MIMEIn; - char MIMEData[512]; + char MIMEData[512]; - // Build Command Line. + // Build Command Line. - wxString FilenameIncEscaped = FilenameInc; - FilenameIncEscaped.Replace(wxT(" "), wxT("\\ ")); - wxString FileCommandLine; + wxString FilenameIncEscaped = FilenameInc; + FilenameIncEscaped.Replace(wxT(" "), wxT("\\ ")); + wxString FileCommandLine; - FileCommandLine.Append("file -b --mime-type "); - FileCommandLine.Append(FilenameIncEscaped); + FileCommandLine.Append("file -b --mime-type "); + FileCommandLine.Append(FilenameIncEscaped); - if (!(MIMEIn = popen(FileCommandLine.mb_str(), "r"))){ + if (!(MIMEIn = popen(FileCommandLine.mb_str(), "r"))){ - wxMessageBox(_("The file with the filename given doesn't exist."), _("Error opening picture/audio file"), wxICON_ERROR); - return wxEmptyString; + wxMessageBox(_("The file with the filename given doesn't exist."), _("Error opening picture/audio file"), wxICON_ERROR); + return wxEmptyString; - } - - while(fgets(MIMEData, sizeof(MIMEData), MIMEIn) != NULL){ - MIMEResult.Append(wxString::FromUTF8(MIMEData)); - } - pclose(MIMEIn); - - MIMEResult.Trim(); - -#else - -#include + } - const char *MIMEType; - magic_t MagicCookie = magic_open(MAGIC_MIME); - magic_setflags(MagicCookie, MAGIC_MIME_TYPE); - - if (!MagicCookie){ - - wxMessageBox(_("An error occured with the support library for getting the picture/audio type."), _("Error opening picture/audio file"), wxICON_ERROR); - return wxEmptyString; - - } - - if (magic_load(MagicCookie, NULL) != 0) { - - wxMessageBox(_("An error occured whilst determining the picture/audio type."), _("Error opening picture/audio file"), wxICON_ERROR); - return wxEmptyString; - - } + while(fgets(MIMEData, sizeof(MIMEData), MIMEIn) != NULL){ + MIMEResult.Append(wxString::FromUTF8(MIMEData)); + } + pclose(MIMEIn); - MIMEType = magic_file(MagicCookie, FilenameInc.mb_str()); - MIMEResult = wxString::FromUTF8(MIMEType); - magic_close(MagicCookie); + MIMEResult.Trim(); #endif - return MIMEResult; + return MIMEResult; } \ No newline at end of file