diff options
| author | Nikola Pajkovsky <npajkovs@redhat.com> | 2010-09-24 13:51:35 +0200 |
|---|---|---|
| committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2010-09-24 13:51:35 +0200 |
| commit | 3f0f33fc439a411af661ba3cc0f08b4127c77237 (patch) | |
| tree | 77ad7daae3f1d8a24ade4369c4eb7e60b18fc11c /src | |
| parent | 8d9f6184d56b59a35295f9df2aad8b94e723b6b8 (diff) | |
g_settings_setOpenGPGPublicKeys uses GList
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/daemon/Daemon.cpp | 1 | ||||
| -rw-r--r-- | src/daemon/Settings.cpp | 13 | ||||
| -rw-r--r-- | src/daemon/Settings.h | 5 | ||||
| -rw-r--r-- | 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 8ab9991b..4cecae1d 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 a77e482b..a6d59f54 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 3103dbd5..2a920204 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 bd18bc86..039fa24a 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); |
