mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-16 15:41:13 +02:00
2022-11-09 Fred Gleason <fredg@paravelsystems.com>
* Added an image format check to rddbmgr(8) to prevent it from attempting to generate thumbnail images from non-JPEG/PNG images. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -1149,3 +1149,33 @@ QString RDMimeType(const QString &filename,bool *ok)
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDMimeType(const QByteArray &data,bool *ok)
|
||||
{
|
||||
QStringList args;
|
||||
QString ret;
|
||||
QByteArray ret_data;
|
||||
|
||||
args.push_back("--mime-type");
|
||||
args.push_back("-");
|
||||
QProcess *proc=new QProcess();
|
||||
proc->start("/usr/bin/file",args);
|
||||
proc->waitForStarted();
|
||||
proc->write(data);
|
||||
proc->closeWriteChannel();
|
||||
proc->waitForFinished();
|
||||
if((proc->exitStatus()!=QProcess::NormalExit)||(proc->exitCode()!=0)) {
|
||||
*ok=false;
|
||||
delete proc;
|
||||
return ret;
|
||||
}
|
||||
*ok=true;
|
||||
|
||||
ret=QString(proc->readAllStandardOutput()).
|
||||
split(":",QString::SkipEmptyParts).last().trimmed();
|
||||
|
||||
delete proc;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@@ -112,6 +112,7 @@ int RDCheckExitCode(const QString &msg,int exit_code);
|
||||
int RDCheckExitCode(RDConfig *config,const QString &msg,int exit_code);
|
||||
int RDCheckReturnCode(const QString &msg,int code,int ok_value);
|
||||
QString RDMimeType(const QString &filename,bool *ok);
|
||||
QString RDMimeType(const QByteArray &data,bool *ok);
|
||||
|
||||
|
||||
#endif // RDCONF_H
|
||||
|
Reference in New Issue
Block a user