db/DatabaseSong: use AtScopeExit()

This commit is contained in:
Max Kellermann 2017-02-08 09:58:40 +01:00
parent 7a185f1ead
commit 7225e919fc

View File

@ -23,6 +23,7 @@
#include "Interface.hxx" #include "Interface.hxx"
#include "DetachedSong.hxx" #include "DetachedSong.hxx"
#include "storage/StorageInterface.hxx" #include "storage/StorageInterface.hxx"
#include "util/ScopeExit.hxx"
#include <assert.h> #include <assert.h>
@ -46,8 +47,7 @@ DatabaseDetachSong(const Database &db, const Storage &storage, const char *uri)
const LightSong *tmp = db.GetSong(uri); const LightSong *tmp = db.GetSong(uri);
assert(tmp != nullptr); assert(tmp != nullptr);
DetachedSong *song = new DetachedSong(DatabaseDetachSong(storage, AtScopeExit(&db, tmp) { db.ReturnSong(tmp); };
*tmp));
db.ReturnSong(tmp); return new DetachedSong(DatabaseDetachSong(storage, *tmp));
return song;
} }