db/Configured: allocate ConfigBlock on the stack
This commit is contained in:
parent
e6e7d6dbd6
commit
7562c5751c
@ -43,16 +43,13 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
ConfigBlock *allocated = nullptr;
|
||||
|
||||
if (param == nullptr && path != nullptr) {
|
||||
allocated = new ConfigBlock(path->line);
|
||||
allocated->AddBlockParam("path", path->value.c_str(),
|
||||
path->line);
|
||||
param = allocated;
|
||||
}
|
||||
|
||||
if (param == nullptr) {
|
||||
if (param != nullptr)
|
||||
return DatabaseGlobalInit(loop, listener, *param, error);
|
||||
else if (path != nullptr) {
|
||||
ConfigBlock block(path->line);
|
||||
block.AddBlockParam("path", path->value.c_str(), path->line);
|
||||
return DatabaseGlobalInit(loop, listener, block, error);
|
||||
} else {
|
||||
/* if there is no override, use the cache directory */
|
||||
|
||||
const AllocatedPath cache_dir = GetUserCacheDir();
|
||||
@ -65,13 +62,8 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
|
||||
if (db_file_utf8.empty())
|
||||
return nullptr;
|
||||
|
||||
allocated = new ConfigBlock();
|
||||
allocated->AddBlockParam("path", db_file_utf8.c_str(), -1);
|
||||
param = allocated;
|
||||
ConfigBlock block;
|
||||
block.AddBlockParam("path", db_file_utf8.c_str(), -1);
|
||||
return DatabaseGlobalInit(loop, listener, block, error);
|
||||
}
|
||||
|
||||
Database *db = DatabaseGlobalInit(loop, listener, *param,
|
||||
error);
|
||||
delete allocated;
|
||||
return db;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user