From a6522407b95cf1410ecb33cbf2adff3a3998f686 Mon Sep 17 00:00:00 2001 From: Martin Kutlak Date: Thu, 29 Jun 2017 12:10:25 +0200 Subject: [PATCH 12/14] bugzilla: add check if option -d was entered The change from commit 946c522ba702c11b7b336552461747541e714bb7 caused that reporter was ALWAYS trying to read from problem directory. And because the default value for it is set to ".", running reporter from outside of problem directory caused errors. Signed-off-by: Martin Kutlak --- src/plugins/reporter-bugzilla.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/plugins/reporter-bugzilla.c b/src/plugins/reporter-bugzilla.c index 7b7fd22..5364cd4 100644 --- a/src/plugins/reporter-bugzilla.c +++ b/src/plugins/reporter-bugzilla.c @@ -334,18 +334,21 @@ int main(int argc, char **argv) export_abrt_envvars(0); map_string_t *settings = new_map_string(); - problem_data_t *problem_data; + problem_data_t *problem_data = NULL; - /* pull in some defaults from os-release */ - problem_data = create_problem_data_for_reporting(dump_dir_name); - if (!problem_data) - xfunc_die(); /* create_problem_data_for_reporting already emitted error msg */ - else + if (opts & OPT_d) { - map_string_t *osinfo = new_map_string(); - problem_data_get_osinfo(problem_data, osinfo); - set_default_settings(osinfo, settings); - free_map_string(osinfo); + /* pull in some defaults from os-release */ + problem_data = create_problem_data_for_reporting(dump_dir_name); + if (!problem_data) + xfunc_die(); /* create_problem_data_for_reporting already emitted error msg */ + else + { + map_string_t *osinfo = new_map_string(); + problem_data_get_osinfo(problem_data, osinfo); + set_default_settings(osinfo, settings); + free_map_string(osinfo); + } } { @@ -554,6 +557,12 @@ int main(int argc, char **argv) free_report_result(reported_to); } + if (!(opts & OPT_d)) + problem_data = create_problem_data_for_reporting(dump_dir_name); + + if (!problem_data) + xfunc_die(); /* create_problem_data_for_reporting already emitted error msg */ + const char *component = problem_data_get_content_or_die(problem_data, FILENAME_COMPONENT); const char *duphash = problem_data_get_content_or_NULL(problem_data, FILENAME_DUPHASH); //COMPAT, remove after 2.1 release -- 2.9.5