diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-03-17 10:53:55 +0100 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-03-17 10:53:55 +0100 |
commit | f8061a5b89956570b5d9893e3b9bae9682849eaa (patch) | |
tree | 4a1ee0f7bfe216eaaea5eec3ae2d88fb60100575 /src | |
parent | 86b8a3c9544baebcfd8925ef232eda1966afc5e2 (diff) | |
download | abrt-f8061a5b89956570b5d9893e3b9bae9682849eaa.tar.gz abrt-f8061a5b89956570b5d9893e3b9bae9682849eaa.tar.xz abrt-f8061a5b89956570b5d9893e3b9bae9682849eaa.zip |
expose export/unexport_event_config
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui-wizard-gtk/wizard.c | 34 | ||||
-rw-r--r-- | src/include/report/event_config.h | 12 | ||||
-rw-r--r-- | src/lib/event_config.c | 34 |
3 files changed, 46 insertions, 34 deletions
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c index 07ebcb5b..31c7bb22 100644 --- a/src/gui-wizard-gtk/wizard.c +++ b/src/gui-wizard-gtk/wizard.c @@ -619,40 +619,6 @@ enum { LOGSTATE_MIDLINE, }; -static GList *export_event_config(const char *event_name) -{ - GList *env_list = NULL; - - event_config_t *config = get_event_config(event_name); - if (config) - { - for (GList *lopt = config->options; lopt; lopt = lopt->next) - { - event_option_t *opt = lopt->data; - if (!opt->value) - continue; - char *var_val = xasprintf("%s=%s", opt->name, opt->value); - VERB3 log("Exporting '%s'", var_val); - env_list = g_list_prepend(env_list, var_val); - putenv(var_val); - } - } - - return env_list; -} - -static void unexport_event_config(GList *env_list) -{ - while (env_list) - { - char *var_val = env_list->data; -VERB3 log("Unexporting '%s'", var_val); - safe_unsetenv(var_val); - env_list = g_list_remove(env_list, var_val); - free(var_val); - } -} - static int spawn_next_command_in_evd(struct analyze_event_data *evd) { evd->env_list = export_event_config(evd->event_name); diff --git a/src/include/report/event_config.h b/src/include/report/event_config.h index 75f357dc..cc6c15b0 100644 --- a/src/include/report/event_config.h +++ b/src/include/report/event_config.h @@ -21,6 +21,11 @@ #ifndef EVENT_CONFIG_H #define EVENT_CONFIG_H + +#ifdef __cplusplus +extern "C" { +#endif + typedef enum { OPTION_TYPE_TEXT, @@ -80,4 +85,11 @@ event_option_t *get_event_option_from_list(const char *option_name, GList *event extern GHashTable *g_event_config_list; // for iterating through entire list of all loaded configs +GList *export_event_config(const char *event_name); +void unexport_event_config(GList *env_list); + +#ifdef __cplusplus +} +#endif + #endif diff --git a/src/lib/event_config.c b/src/lib/event_config.c index 43c9e764..3f760214 100644 --- a/src/lib/event_config.c +++ b/src/lib/event_config.c @@ -246,3 +246,37 @@ event_config_t *get_event_config(const char *name) } return g_hash_table_lookup(g_event_config_list, name); } + +GList *export_event_config(const char *event_name) +{ + GList *env_list = NULL; + + event_config_t *config = get_event_config(event_name); + if (config) + { + for (GList *lopt = config->options; lopt; lopt = lopt->next) + { + event_option_t *opt = lopt->data; + if (!opt->value) + continue; + char *var_val = xasprintf("%s=%s", opt->name, opt->value); + VERB3 log("Exporting '%s'", var_val); + env_list = g_list_prepend(env_list, var_val); + putenv(var_val); + } + } + + return env_list; +} + +void unexport_event_config(GList *env_list) +{ + while (env_list) + { + char *var_val = env_list->data; + VERB3 log("Unexporting '%s'", var_val); + safe_unsetenv(var_val); + env_list = g_list_remove(env_list, var_val); + free(var_val); + } +} |