Commit 7562c575 authored by Max Kellermann's avatar Max Kellermann

db/Configured: allocate ConfigBlock on the stack

parent e6e7d6db
...@@ -43,16 +43,13 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener, ...@@ -43,16 +43,13 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
return nullptr; return nullptr;
} }
ConfigBlock *allocated = nullptr; if (param != nullptr)
return DatabaseGlobalInit(loop, listener, *param, error);
if (param == nullptr && path != nullptr) { else if (path != nullptr) {
allocated = new ConfigBlock(path->line); ConfigBlock block(path->line);
allocated->AddBlockParam("path", path->value.c_str(), block.AddBlockParam("path", path->value.c_str(), path->line);
path->line); return DatabaseGlobalInit(loop, listener, block, error);
param = allocated; } else {
}
if (param == nullptr) {
/* if there is no override, use the cache directory */ /* if there is no override, use the cache directory */
const AllocatedPath cache_dir = GetUserCacheDir(); const AllocatedPath cache_dir = GetUserCacheDir();
...@@ -65,13 +62,8 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener, ...@@ -65,13 +62,8 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
if (db_file_utf8.empty()) if (db_file_utf8.empty())
return nullptr; return nullptr;
allocated = new ConfigBlock(); ConfigBlock block;
allocated->AddBlockParam("path", db_file_utf8.c_str(), -1); block.AddBlockParam("path", db_file_utf8.c_str(), -1);
param = allocated; return DatabaseGlobalInit(loop, listener, block, error);
} }
Database *db = DatabaseGlobalInit(loop, listener, *param,
error);
delete allocated;
return db;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment