Blame 0009-bugzilla-add-check-if-option-d-was-entered.patch

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