From 6190da1300b4fb0f1d6724ee2e8466fc89b601c1 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 18 Mar 2016 22:53:16 +0100 Subject: test/DumpDatabase: use AtScopeExit() --- test/DumpDatabase.cxx | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/test/DumpDatabase.cxx b/test/DumpDatabase.cxx index a6673f581..5032cab69 100644 --- a/test/DumpDatabase.cxx +++ b/test/DumpDatabase.cxx @@ -34,6 +34,7 @@ #include "event/Loop.hxx" #include "Log.hxx" #include "util/Error.hxx" +#include "util/ScopeExit.hxx" #include using std::cout; @@ -108,6 +109,7 @@ try { /* initialize MPD */ config_global_init(); + AtScopeExit() { config_global_finish(); }; Error error; ReadConfigFile(config_path); @@ -132,29 +134,23 @@ try { return EXIT_FAILURE; } + AtScopeExit(db) { delete db; }; + if (!db->Open(error)) { - delete db; cerr << error.GetMessage() << endl; return EXIT_FAILURE; } + AtScopeExit(db) { db->Close(); }; + const DatabaseSelection selection("", true); if (!db->Visit(selection, DumpDirectory, DumpSong, DumpPlaylist, error)) { - db->Close(); - delete db; cerr << error.GetMessage() << endl; return EXIT_FAILURE; } - db->Close(); - delete db; - - /* deinitialize everything */ - - config_global_finish(); - return EXIT_SUCCESS; } catch (const std::exception &e) { LogError(e); -- cgit v1.2.3