Signed-off-by: Nikola Pajkovsky <npajkovs(a)redhat.com>
---
src/daemon/Settings.cpp | 35 +++++--------------------
src/daemon/Settings.h | 2 +-
src/daemon/abrt-action-save-package-data.cpp | 6 +---
3 files changed, 10 insertions(+), 33 deletions(-)
diff --git a/src/daemon/Settings.cpp b/src/daemon/Settings.cpp
index ca4764b..81b6661 100644
--- a/src/daemon/Settings.cpp
+++ b/src/daemon/Settings.cpp
@@ -53,8 +53,8 @@ bool g_settings_bOpenGPGCheck = false;
/* one line: "OpenGPGPublicKeys = value1,value2" */
GList *g_settings_setOpenGPGPublicKeys = NULL;
GList *g_settings_setBlackListedPkgs = NULL;
-set_string_t g_settings_setBlackListedPaths;
std::string g_settings_sDatabase;
+GList *g_settings_setBlackListedPaths = NULL;
std::string g_settings_sWatchCrashdumpArchiveDir;
unsigned int g_settings_nMaxCrashReportsSize = 1000;
bool g_settings_bProcessUnpackaged = false;
@@ -96,32 +96,6 @@ static GList *parse_list(const char* list)
return l;
}
-
-// function will be removed
-static set_string_t ParseList(const char* pList)
-{
- unsigned ii;
- std::string item;
- set_string_t set;
- for (ii = 0; pList[ii]; ii++)
- {
- if (pList[ii] == ',')
- {
- set.insert(item);
- item = "";
- }
- else
- {
- item += pList[ii];
- }
- }
- if (item != "")
- {
- set.insert(item);
- }
- return set;
-}
-
/* Format: name, name(param),name("param with spaces \"and quotes\"")
*/
static vector_pair_string_string_t ParseListWithArgs(const char *pValue, int *err)
{
@@ -233,7 +207,7 @@ static int ParseCommon()
it = s_mapSectionCommon.find("BlackListedPaths");
if (it != end)
{
- g_settings_setBlackListedPaths = ParseList(it->second.c_str());
+ g_settings_setBlackListedPaths = parse_list(it->second.c_str());
}
it = s_mapSectionCommon.find("Database");
if (it != end)
@@ -596,4 +570,9 @@ void settings_free()
free((char*)li->data);
g_list_free(g_settings_setBlackListedPkgs);
+
+ for (GList *li = g_settings_setBlackListedPaths; li != NULL; li = g_list_next(li))
+ free((char*)li->data);
+
+ g_list_free(g_settings_setBlackListedPaths);
}
diff --git a/src/daemon/Settings.h b/src/daemon/Settings.h
index 6c137e6..621c11a 100644
--- a/src/daemon/Settings.h
+++ b/src/daemon/Settings.h
@@ -28,7 +28,7 @@ typedef map_map_string_t map_abrt_settings_t;
extern GList *g_settings_setOpenGPGPublicKeys;
extern GList *g_settings_setBlackListedPkgs;
-extern set_string_t g_settings_setBlackListedPaths;
+extern GList *g_settings_setBlackListedPaths;
extern unsigned int g_settings_nMaxCrashReportsSize;
extern bool g_settings_bOpenGPGCheck;
extern bool g_settings_bProcessUnpackaged;
diff --git a/src/daemon/abrt-action-save-package-data.cpp
b/src/daemon/abrt-action-save-package-data.cpp
index 7a8b45b..9a5a174 100644
--- a/src/daemon/abrt-action-save-package-data.cpp
+++ b/src/daemon/abrt-action-save-package-data.cpp
@@ -64,14 +64,12 @@ static char *get_argv1_if_full_path(const char* cmdline)
static bool is_path_blacklisted(const char *path)
{
- set_string_t::iterator it = g_settings_setBlackListedPaths.begin();
- while (it != g_settings_setBlackListedPaths.end())
+ for (GList *li = g_settings_setBlackListedPaths; li != NULL; li = g_list_next(li))
{
- if (fnmatch(it->c_str(), path, /*flags:*/ 0) == 0)
+ if (fnmatch((char*)li->data, path, /*flags:*/ 0) == 0)
{
return true;
}
- it++;
}
return false;
}
--
1.7.1