@@ -24,6 +24,7 @@
2424#include <QNetworkRequest>
2525#include <QNetworkReply>
2626#include <QXmlQuery>
27+#include <QTemporaryFile>
2728#include <QBuffer>
2829#include <cstdio>
2930#include <QDebug>
@@ -31,7 +32,6 @@
3132#include <QStringList>
3233#include <QByteArray>
3334#include <unistd.h>
34−#include <memory>
3535#include <QImage>
3636#include <QUrl>
3737
@@ -158,14 +158,17 @@ std::string AlbumArtProvider::get_image(const std::string &artist, const std::st
158158 if(image_url.empty()) {
159159 return DEFAULT_ALBUM_ART;
160160 }
161− char tmpname[] = "/tmp/path/to/some/file/somewhere/maybe.jpg";
162− tmpnam(tmpname);
163− //std::unique_ptr<char, int(*)(const char*)> deleter(tmpname, unlink);
161+ QTemporaryFile tempFile;
162+ tempFile.open();
163+ tempFile.setAutoRemove(true);
164+ QString fname = tempFile.fileName();
165+ std::string tmpname = fname.toUtf8().data();
166+
164167 if(!download_and_store(image_url, tmpname)) {
165168 return DEFAULT_ALBUM_ART;
166169 }
167− fix_format(tmpname);
168− FILE *f = fopen(tmpname, "r");
170+ fix_format(tmpname.c_str());
171+ FILE *f = fopen(tmpname.c_str(), "r");
169172 fseek(f, 0, SEEK_END);
170173 long s = ftell(f);
171174 fseek(f, 0, SEEK_SET);