Jiri Moskovcak 60afc81
From 386bcecdff5eeea2f0855e9b91b73f862fa11860 Mon Sep 17 00:00:00 2001
Jiri Moskovcak 60afc81
From: Nikola Pajkovsky <npajkovs@redhat.com>
Jiri Moskovcak 60afc81
Date: Mon, 14 May 2012 13:03:25 +0200
Jiri Moskovcak 60afc81
Subject: [PATCH 1/3] rhbz#820985 - bz 4.2 doesn't have 'bug_id' member; it's
Jiri Moskovcak 60afc81
 'id'
Jiri Moskovcak 60afc81
Jiri Moskovcak 60afc81
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Jiri Moskovcak 60afc81
---
Jiri Moskovcak 60afc81
 src/plugins/rhbz.c |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++-
Jiri Moskovcak 60afc81
 1 file changed, 55 insertions(+), 1 deletion(-)
Jiri Moskovcak 60afc81
Jiri Moskovcak 60afc81
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
Jiri Moskovcak 60afc81
index 2e7d62c..24bec16 100644
Jiri Moskovcak 60afc81
--- a/src/plugins/rhbz.c
Jiri Moskovcak 60afc81
+++ b/src/plugins/rhbz.c
Jiri Moskovcak 60afc81
@@ -22,8 +22,20 @@
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 #define MAX_HOPS            5
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
+//#define DEBUG
Jiri Moskovcak 60afc81
+#ifdef DEBUG
Jiri Moskovcak 60afc81
+#define func_entry() log("-- %s", __func__)
Jiri Moskovcak 60afc81
+#define func_entry_str(x) log("-- %s\t%s", __func__, (x))
Jiri Moskovcak 60afc81
+#else
Jiri Moskovcak 60afc81
+#define func_entry()
Jiri Moskovcak 60afc81
+#define func_entry_str(x)
Jiri Moskovcak 60afc81
+#endif
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
 struct bug_info *new_bug_info()
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     struct bug_info *bi = xzalloc(sizeof(struct bug_info));
Jiri Moskovcak 60afc81
     bi->bi_dup_id = -1;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -32,6 +44,8 @@ struct bug_info *new_bug_info()
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 void free_bug_info(struct bug_info *bi)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     if (!bi)
Jiri Moskovcak 60afc81
         return;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -47,6 +61,8 @@ void free_bug_info(struct bug_info *bi)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 static GList *parse_comments(xmlrpc_value *result_xml)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     GList *comments = NULL;
Jiri Moskovcak 60afc81
     xmlrpc_value *comments_memb = rhbz_get_member("longdescs", result_xml);
Jiri Moskovcak 60afc81
     if (!comments_memb)
Jiri Moskovcak 60afc81
@@ -74,6 +90,8 @@ static GList *parse_comments(xmlrpc_value *result_xml)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 static char *trim_all_whitespace(const char *str)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     char *trim = xzalloc(sizeof(char) * strlen(str) + 1);
Jiri Moskovcak 60afc81
     int i = 0;
Jiri Moskovcak 60afc81
     while (*str)
Jiri Moskovcak 60afc81
@@ -88,6 +106,8 @@ static char *trim_all_whitespace(const char *str)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 int is_comment_dup(GList *comments, const char *comment)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     char * const trim_comment = trim_all_whitespace(comment);
Jiri Moskovcak 60afc81
     bool same_comments = false;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -105,6 +125,8 @@ int is_comment_dup(GList *comments, const char *comment)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 static unsigned find_best_bt_rating_in_comments(GList *comments)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     if (!comments)
Jiri Moskovcak 60afc81
         return 0;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -148,6 +170,8 @@ static unsigned find_best_bt_rating_in_comments(GList *comments)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 void rhbz_login(struct abrt_xmlrpc *ax, struct bugzilla_struct *b)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_value* result = abrt_xmlrpc_call(ax, "User.login", "({s:s,s:s})",
Jiri Moskovcak 60afc81
                                             "login", b->b_login, "password", b->b_password);
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -162,6 +186,8 @@ void rhbz_login(struct abrt_xmlrpc *ax, struct bugzilla_struct *b)
Jiri Moskovcak 60afc81
 xmlrpc_value *rhbz_search_duphash(struct abrt_xmlrpc *ax, const char *component,
Jiri Moskovcak 60afc81
                                   const char *product, const char *duphash)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     struct strbuf *query = strbuf_new();
Jiri Moskovcak 60afc81
     strbuf_append_strf(query, "ALL whiteboard:\"%s\"", duphash);
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -181,6 +207,8 @@ xmlrpc_value *rhbz_search_duphash(struct abrt_xmlrpc *ax, const char *component,
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 xmlrpc_value *rhbz_get_member(const char *member, xmlrpc_value *xml)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry_str(member);
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_env env;
Jiri Moskovcak 60afc81
     xmlrpc_env_init(&env;;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -203,6 +231,8 @@ xmlrpc_value *rhbz_get_member(const char *member, xmlrpc_value *xml)
Jiri Moskovcak 60afc81
  */
Jiri Moskovcak 60afc81
 int rhbz_array_size(xmlrpc_value *xml)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_env env;
Jiri Moskovcak 60afc81
     xmlrpc_env_init(&env;;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -216,6 +246,8 @@ int rhbz_array_size(xmlrpc_value *xml)
Jiri Moskovcak 60afc81
 /* die or return bug id; each bug must have bug id otherwise xml is corrupted */
Jiri Moskovcak 60afc81
 int rhbz_bug_id(xmlrpc_value* xml)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_env env;
Jiri Moskovcak 60afc81
     xmlrpc_env_init(&env;;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -227,7 +259,7 @@ int rhbz_bug_id(xmlrpc_value* xml)
Jiri Moskovcak 60afc81
     if (env.fault_occurred)
Jiri Moskovcak 60afc81
         abrt_xmlrpc_die(&env;;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
-    bug = rhbz_get_member("bug_id", item);
Jiri Moskovcak 60afc81
+    bug = rhbz_get_member("id", item);
Jiri Moskovcak 60afc81
     xmlrpc_DECREF(item);
Jiri Moskovcak 60afc81
     if (!bug)
Jiri Moskovcak 60afc81
         abrt_xmlrpc_die(&env;;
Jiri Moskovcak 60afc81
@@ -247,6 +279,8 @@ int rhbz_bug_id(xmlrpc_value* xml)
Jiri Moskovcak 60afc81
 // TODO: npajkovs: add flag to read xmlrpc_read_array_item first
Jiri Moskovcak 60afc81
 void *rhbz_bug_read_item(const char *memb, xmlrpc_value *xml, int flags)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_env env;
Jiri Moskovcak 60afc81
     xmlrpc_env_init(&env;;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -293,6 +327,8 @@ die:
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 GList *rhbz_bug_cc(xmlrpc_value* result_xml)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_env env;
Jiri Moskovcak 60afc81
     xmlrpc_env_init(&env;;
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
@@ -335,6 +371,8 @@ GList *rhbz_bug_cc(xmlrpc_value* result_xml)
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 struct bug_info *rhbz_bug_info(struct abrt_xmlrpc *ax, int bug_id)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     struct bug_info *bz = new_bug_info();
Jiri Moskovcak 60afc81
     xmlrpc_value *xml_bug_response = abrt_xmlrpc_call(ax, "bugzilla.getBug",
Jiri Moskovcak 60afc81
                                                       "(i)", bug_id);
Jiri Moskovcak 60afc81
@@ -384,6 +422,8 @@ struct bug_info *rhbz_bug_info(struct abrt_xmlrpc *ax, int bug_id)
Jiri Moskovcak 60afc81
 int rhbz_new_bug(struct abrt_xmlrpc *ax, problem_data_t *problem_data,
Jiri Moskovcak 60afc81
                  const char *release)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     const char *package      = get_problem_item_content_or_NULL(problem_data,
Jiri Moskovcak 60afc81
                                                                 FILENAME_PACKAGE);
Jiri Moskovcak 60afc81
     const char *component    = get_problem_item_content_or_NULL(problem_data,
Jiri Moskovcak 60afc81
@@ -483,6 +523,8 @@ int rhbz_new_bug(struct abrt_xmlrpc *ax, problem_data_t *problem_data,
Jiri Moskovcak 60afc81
 int rhbz_attach_blob(struct abrt_xmlrpc *ax, const char *filename,
Jiri Moskovcak 60afc81
                     const char *bug_id, const char *data, int data_len, int flags)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     char *encoded64 = encode_base64(data, data_len);
Jiri Moskovcak 60afc81
     char *fn = xasprintf("File: %s", filename);
Jiri Moskovcak 60afc81
     xmlrpc_value* result;
Jiri Moskovcak 60afc81
@@ -509,6 +551,8 @@ int rhbz_attach_blob(struct abrt_xmlrpc *ax, const char *filename,
Jiri Moskovcak 60afc81
 int rhbz_attach_fd(struct abrt_xmlrpc *ax, const char *filename,
Jiri Moskovcak 60afc81
                     const char *bug_id, int fd, int flags)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     off_t size = lseek(fd, 0, SEEK_END);
Jiri Moskovcak 60afc81
     if (size < 0)
Jiri Moskovcak 60afc81
     {
Jiri Moskovcak 60afc81
@@ -547,6 +591,8 @@ int rhbz_attach_fd(struct abrt_xmlrpc *ax, const char *filename,
Jiri Moskovcak 60afc81
 int rhbz_attach_big_files(struct abrt_xmlrpc *ax, const char *bug_id,
Jiri Moskovcak 60afc81
                      problem_data_t *problem_data, int flags)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     GHashTableIter iter;
Jiri Moskovcak 60afc81
     char *name;
Jiri Moskovcak 60afc81
     struct problem_item *value;
Jiri Moskovcak 60afc81
@@ -600,6 +646,8 @@ int rhbz_attach_big_files(struct abrt_xmlrpc *ax, const char *bug_id,
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
 void rhbz_logout(struct abrt_xmlrpc *ax)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_value* result = abrt_xmlrpc_call(ax, "User.logout", "(s)", "");
Jiri Moskovcak 60afc81
     if (result)
Jiri Moskovcak 60afc81
         xmlrpc_DECREF(result);
Jiri Moskovcak 60afc81
@@ -608,6 +656,8 @@ void rhbz_logout(struct abrt_xmlrpc *ax)
Jiri Moskovcak 60afc81
 struct bug_info *rhbz_find_origin_bug_closed_duplicate(struct abrt_xmlrpc *ax,
Jiri Moskovcak 60afc81
                                                        struct bug_info *bi)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     struct bug_info *bi_tmp = new_bug_info();
Jiri Moskovcak 60afc81
     bi_tmp->bi_id = bi->bi_id;
Jiri Moskovcak 60afc81
     bi_tmp->bi_dup_id = bi->bi_dup_id;
Jiri Moskovcak 60afc81
@@ -634,6 +684,8 @@ struct bug_info *rhbz_find_origin_bug_closed_duplicate(struct abrt_xmlrpc *ax,
Jiri Moskovcak 60afc81
 /* suppress mail notify by {s:i} (nomail:1) */
Jiri Moskovcak 60afc81
 void rhbz_mail_to_cc(struct abrt_xmlrpc *ax, int bug_id, const char *mail, int flags)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     xmlrpc_value *result;
Jiri Moskovcak 60afc81
     int nomail_notify = IS_NOMAIL_NOTIFY(flags);
Jiri Moskovcak 60afc81
     result = abrt_xmlrpc_call(ax, "Bug.update", "({s:i,s:{s:(s),s:i}})",
Jiri Moskovcak 60afc81
@@ -647,6 +699,8 @@ void rhbz_mail_to_cc(struct abrt_xmlrpc *ax, int bug_id, const char *mail, int f
Jiri Moskovcak 60afc81
 void rhbz_add_comment(struct abrt_xmlrpc *ax, int bug_id, const char *comment,
Jiri Moskovcak 60afc81
                       int flags)
Jiri Moskovcak 60afc81
 {
Jiri Moskovcak 60afc81
+    func_entry();
Jiri Moskovcak 60afc81
+
Jiri Moskovcak 60afc81
     int private = IS_PRIVATE(flags);
Jiri Moskovcak 60afc81
     int nomail_notify = IS_NOMAIL_NOTIFY(flags);
Jiri Moskovcak 60afc81
 
Jiri Moskovcak 60afc81
-- 
Jiri Moskovcak 60afc81
1.7.10.1
Jiri Moskovcak 60afc81