On 10/05/2010 02:48 PM, Jiri Moskovcak wrote:
Seems ok. You can push this.
Thanks!
On 09/24/2010 05:44 PM, Nikola Pajkovsky wrote:
> Signed-off-by: Nikola Pajkovsky<npajkovs(a)redhat.com>
> ---
> src/daemon/Daemon.cpp | 1 +
> src/daemon/Settings.cpp | 13 +++++++++++--
> src/daemon/Settings.h | 5 ++++-
> src/daemon/abrt-action-save-package-data.cpp | 7 +++----
> 4 files changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/src/daemon/Daemon.cpp b/src/daemon/Daemon.cpp
> index 8ab9991..4cecae1 100644
> --- a/src/daemon/Daemon.cpp
> +++ b/src/daemon/Daemon.cpp
> @@ -1114,6 +1114,7 @@ int main(int argc, char** argv)
> if (pMainloop)
> g_main_loop_unref(pMainloop);
>
> + settings_free();
> /* Exiting */
> if (s_sig_caught&& s_sig_caught != SIGALRM&& s_sig_caught
!= SIGCHLD)
> {
> diff --git a/src/daemon/Settings.cpp b/src/daemon/Settings.cpp
> index a77e482..a6d59f5 100644
> --- a/src/daemon/Settings.cpp
> +++ b/src/daemon/Settings.cpp
> @@ -51,7 +51,7 @@ static map_string_t s_mapSectionCron;
> /* one line: "OpenGPGCheck = value" */
> bool g_settings_bOpenGPGCheck = false;
> /* one line: "OpenGPGPublicKeys = value1,value2" */
> -set_string_t g_settings_setOpenGPGPublicKeys;
> +GList *g_settings_setOpenGPGPublicKeys = NULL;
> set_string_t g_settings_setBlackListedPkgs;
> set_string_t g_settings_setBlackListedPaths;
> std::string g_settings_sDatabase;
> @@ -348,7 +348,7 @@ static void LoadGPGKeys()
> if (line[0] == '/') // probably the begining of path, so
let's handle it as a key
> {
> strchrnul(line, '\n')[0] = '\0';
> - g_settings_setOpenGPGPublicKeys.insert(line);
> + g_settings_setOpenGPGPublicKeys =
g_list_append(g_settings_setOpenGPGPublicKeys, xstrdup(line));
> }
> }
> fclose(fp);
> @@ -559,3 +559,12 @@ void SetSettings(const map_abrt_settings_t& pSettings,
const char *dbus_sender)
> ParseCron();
> }
> }
> +
> +void settings_free()
> +{
> + for (GList *li = g_settings_setOpenGPGPublicKeys; li != NULL; li =
g_list_next(li))
> + free((char*)li->data);
> +
> + g_list_free(g_settings_setOpenGPGPublicKeys);
> +
> +}
> diff --git a/src/daemon/Settings.h b/src/daemon/Settings.h
> index 3103dbd..2a92020 100644
> --- a/src/daemon/Settings.h
> +++ b/src/daemon/Settings.h
> @@ -20,12 +20,13 @@
> #define SETTINGS_H_
>
> #include "abrt_types.h"
> +#include<glib.h>
>
> typedef map_vector_pair_string_string_t map_analyzer_actions_and_reporters_t;
> typedef map_vector_pair_string_string_t map_cron_t;
> typedef map_map_string_t map_abrt_settings_t;
>
> -extern set_string_t g_settings_setOpenGPGPublicKeys;
> +extern GList *g_settings_setOpenGPGPublicKeys;
> extern set_string_t g_settings_setBlackListedPkgs;
> extern set_string_t g_settings_setBlackListedPaths;
> extern unsigned int g_settings_nMaxCrashReportsSize;
> @@ -42,4 +43,6 @@ void SaveSettings();
> void SetSettings(const map_abrt_settings_t& pSettings, const char *
dbus_sender);
> map_abrt_settings_t GetSettings();
>
> +void settings_free();
> +
> #endif
> diff --git a/src/daemon/abrt-action-save-package-data.cpp
b/src/daemon/abrt-action-save-package-data.cpp
> index bd18bc8..039fa24 100644
> --- a/src/daemon/abrt-action-save-package-data.cpp
> +++ b/src/daemon/abrt-action-save-package-data.cpp
> @@ -320,11 +320,10 @@ int main(int argc, char **argv)
> VERB1 log("Initializing rpm library");
> rpm_init();
>
> - set_string_t::iterator it_k = g_settings_setOpenGPGPublicKeys.begin();
> - for (; it_k != g_settings_setOpenGPGPublicKeys.end(); it_k++)
> + for (GList *li = g_settings_setOpenGPGPublicKeys; li != NULL; li =
g_list_next(li))
> {
> - VERB1 log("Loading GPG key '%s'", it_k->c_str());
> - rpm_load_gpgkey(it_k->c_str());
> + VERB1 log("Loading GPG key '%s'", (char*)li->data);
> + rpm_load_gpgkey((char*)li->data);
> }
>
> return SavePackageDescriptionToDebugDump(dump_dir_name);
--
Nikola