diff options
author | Max Kellermann <max@duempel.org> | 2015-01-21 21:50:02 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2015-01-21 21:50:02 +0100 |
commit | f900ab0121a1b1e0f86cbfde493f9860159e8e61 (patch) | |
tree | 95b7c16238e537653ccf673d103b8160bfb4edf6 /src/config | |
parent | f80ab6a7a2fdaf58874fd44418ea98dcce94155d (diff) | |
download | mpd-f900ab0121a1b1e0f86cbfde493f9860159e8e61.tar.gz mpd-f900ab0121a1b1e0f86cbfde493f9860159e8e61.tar.xz mpd-f900ab0121a1b1e0f86cbfde493f9860159e8e61.zip |
config/Data: add method Clear()
Move code from config_global_finish().
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/ConfigGlobal.cxx | 4 | ||||
-rw-r--r-- | src/config/Data.cxx | 30 | ||||
-rw-r--r-- | src/config/Data.hxx | 2 |
3 files changed, 33 insertions, 3 deletions
diff --git a/src/config/ConfigGlobal.cxx b/src/config/ConfigGlobal.cxx index 322c800da..5c04ea93e 100644 --- a/src/config/ConfigGlobal.cxx +++ b/src/config/ConfigGlobal.cxx @@ -37,9 +37,7 @@ static ConfigData config_data; void config_global_finish(void) { - for (auto i : config_data.params) - delete i; - config_data.params.fill(0); + config_data.Clear(); } void config_global_init(void) diff --git a/src/config/Data.cxx b/src/config/Data.cxx new file mode 100644 index 000000000..ae36b7f21 --- /dev/null +++ b/src/config/Data.cxx @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2003-2015 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "Data.hxx" +#include "Param.hxx" + +void +ConfigData::Clear() +{ + for (auto i : params) + delete i; + params.fill(nullptr); +} diff --git a/src/config/Data.hxx b/src/config/Data.hxx index a79836324..af1da956f 100644 --- a/src/config/Data.hxx +++ b/src/config/Data.hxx @@ -28,6 +28,8 @@ struct config_param; struct ConfigData { std::array<config_param *, std::size_t(CONF_MAX)> params; + + void Clear(); }; #endif |