|
|
d21897 |
From 8d9f7ba8a42ec1cfd39e6c249aef15e9295fe0a1 Mon Sep 17 00:00:00 2001
|
|
|
d21897 |
From: Matej Habrnal <mhabrnal@redhat.com>
|
|
|
d21897 |
Date: Tue, 13 Jan 2015 19:23:08 -0500
|
|
|
d21897 |
Subject: [PATCH 1001/1015] lib: created a new lib file for reporters
|
|
|
d21897 |
|
|
|
d21897 |
Moved some functions from rhbz.c to src/lib/reporters.c and src/lib/strbuf.c.
|
|
|
d21897 |
|
|
|
d21897 |
Related to #272
|
|
|
d21897 |
|
|
|
d21897 |
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
|
|
|
d21897 |
---
|
|
|
d21897 |
po/POTFILES.in | 1 +
|
|
|
d21897 |
src/include/Makefile.am | 3 +-
|
|
|
d21897 |
src/include/internal_libreport.h | 5 +++
|
|
|
d21897 |
src/include/reporters.h | 36 ++++++++++++++++++
|
|
|
d21897 |
src/lib/Makefile.am | 3 +-
|
|
|
d21897 |
src/lib/reporters.c | 80 ++++++++++++++++++++++++++++++++++++++++
|
|
|
d21897 |
src/lib/strbuf.c | 60 ++++++++++++++++++++++++++++++
|
|
|
d21897 |
src/plugins/rhbz.c | 78 +--------------------------------------
|
|
|
d21897 |
src/plugins/rhbz.h | 2 -
|
|
|
d21897 |
9 files changed, 188 insertions(+), 80 deletions(-)
|
|
|
d21897 |
create mode 100644 src/include/reporters.h
|
|
|
d21897 |
create mode 100644 src/lib/reporters.c
|
|
|
d21897 |
|
|
|
d21897 |
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
|
|
d21897 |
index 4246e06..003e686 100644
|
|
|
d21897 |
--- a/po/POTFILES.in
|
|
|
d21897 |
+++ b/po/POTFILES.in
|
|
|
d21897 |
@@ -27,6 +27,7 @@ src/lib/parse_options.c
|
|
|
d21897 |
src/lib/problem_data.c
|
|
|
d21897 |
src/lib/problem_report.c
|
|
|
d21897 |
src/lib/reported_to.c
|
|
|
d21897 |
+src/lib/reporters.c
|
|
|
d21897 |
src/lib/run_event.c
|
|
|
d21897 |
src/plugins/abrt_rh_support.c
|
|
|
d21897 |
src/plugins/report_Bugzilla.xml.in.in
|
|
|
d21897 |
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
|
|
|
d21897 |
index 87e5e60..4d8c6a5 100644
|
|
|
d21897 |
--- a/src/include/Makefile.am
|
|
|
d21897 |
+++ b/src/include/Makefile.am
|
|
|
d21897 |
@@ -15,7 +15,8 @@ libreport_include_HEADERS = \
|
|
|
d21897 |
file_obj.h \
|
|
|
d21897 |
internal_libreport.h \
|
|
|
d21897 |
internal_abrt_dbus.h \
|
|
|
d21897 |
- xml_parser.h
|
|
|
d21897 |
+ xml_parser.h \
|
|
|
d21897 |
+ reporters.h
|
|
|
d21897 |
|
|
|
d21897 |
if BUILD_UREPORT
|
|
|
d21897 |
libreport_include_HEADERS += ureport.h
|
|
|
d21897 |
diff --git a/src/include/internal_libreport.h b/src/include/internal_libreport.h
|
|
|
d21897 |
index cf5730c..a867649 100644
|
|
|
d21897 |
--- a/src/include/internal_libreport.h
|
|
|
d21897 |
+++ b/src/include/internal_libreport.h
|
|
|
d21897 |
@@ -99,6 +99,7 @@ int vdprintf(int d, const char *format, va_list ap);
|
|
|
d21897 |
#include "workflow.h"
|
|
|
d21897 |
#include "file_obj.h"
|
|
|
d21897 |
#include "libreport_types.h"
|
|
|
d21897 |
+#include "reporters.h"
|
|
|
d21897 |
|
|
|
d21897 |
#ifdef __cplusplus
|
|
|
d21897 |
extern "C" {
|
|
|
d21897 |
@@ -108,6 +109,10 @@ extern "C" {
|
|
|
d21897 |
int prefixcmp(const char *str, const char *prefix);
|
|
|
d21897 |
#define suffixcmp libreport_suffixcmp
|
|
|
d21897 |
int suffixcmp(const char *str, const char *suffix);
|
|
|
d21897 |
+#define trim_all_whitespace libreport_trim_all_whitespace
|
|
|
d21897 |
+char *trim_all_whitespace(const char *str);
|
|
|
d21897 |
+#define shorten_string_to_length libreport_shorten_string_to_length
|
|
|
d21897 |
+char *shorten_string_to_length(const char *str, unsigned length);
|
|
|
d21897 |
#define strtrim libreport_strtrim
|
|
|
d21897 |
char *strtrim(char *str);
|
|
|
d21897 |
#define strtrimch libreport_strtrimch
|
|
|
d21897 |
diff --git a/src/include/reporters.h b/src/include/reporters.h
|
|
|
d21897 |
new file mode 100644
|
|
|
d21897 |
index 0000000..d415b7f
|
|
|
d21897 |
--- /dev/null
|
|
|
d21897 |
+++ b/src/include/reporters.h
|
|
|
d21897 |
@@ -0,0 +1,36 @@
|
|
|
d21897 |
+/*
|
|
|
d21897 |
+ Copyright (C) 2014 ABRT team
|
|
|
d21897 |
+ Copyright (C) 2014 RedHat Inc
|
|
|
d21897 |
+
|
|
|
d21897 |
+ This program is free software; you can redistribute it and/or modify
|
|
|
d21897 |
+ it under the terms of the GNU General Public License as published by
|
|
|
d21897 |
+ the Free Software Foundation; either version 2 of the License, or
|
|
|
d21897 |
+ (at your option) any later version.
|
|
|
d21897 |
+
|
|
|
d21897 |
+ This program is distributed in the hope that it will be useful,
|
|
|
d21897 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
d21897 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
d21897 |
+ GNU General Public License for more details.
|
|
|
d21897 |
+
|
|
|
d21897 |
+ You should have received a copy of the GNU General Public License along
|
|
|
d21897 |
+ with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
d21897 |
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
d21897 |
+*/
|
|
|
d21897 |
+
|
|
|
d21897 |
+#ifndef REPORTERS_H
|
|
|
d21897 |
+#define REPORTERS_H
|
|
|
d21897 |
+
|
|
|
d21897 |
+#ifdef __cplusplus
|
|
|
d21897 |
+extern "C" {
|
|
|
d21897 |
+#endif
|
|
|
d21897 |
+
|
|
|
d21897 |
+#define is_comment_dup libreport_is_comment_dup
|
|
|
d21897 |
+int is_comment_dup(GList *comments, const char *comment);
|
|
|
d21897 |
+#define comments_find_best_bt_rating libreport_comments_find_best_bt_rating
|
|
|
d21897 |
+unsigned comments_find_best_bt_rating(GList *comments);
|
|
|
d21897 |
+
|
|
|
d21897 |
+#ifdef __cplusplus
|
|
|
d21897 |
+}
|
|
|
d21897 |
+#endif
|
|
|
d21897 |
+
|
|
|
d21897 |
+#endif
|
|
|
d21897 |
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
|
|
|
d21897 |
index c11a42d..d41e543 100644
|
|
|
d21897 |
--- a/src/lib/Makefile.am
|
|
|
d21897 |
+++ b/src/lib/Makefile.am
|
|
|
d21897 |
@@ -58,7 +58,8 @@ libreport_la_SOURCES = \
|
|
|
d21897 |
xml_parser.c \
|
|
|
d21897 |
libreport_init.c \
|
|
|
d21897 |
global_configuration.c \
|
|
|
d21897 |
- uriparser.c
|
|
|
d21897 |
+ uriparser.c \
|
|
|
d21897 |
+ reporters.c
|
|
|
d21897 |
|
|
|
d21897 |
libreport_la_CPPFLAGS = \
|
|
|
d21897 |
-I$(srcdir)/../include \
|
|
|
d21897 |
diff --git a/src/lib/reporters.c b/src/lib/reporters.c
|
|
|
d21897 |
new file mode 100644
|
|
|
d21897 |
index 0000000..e3305ca
|
|
|
d21897 |
--- /dev/null
|
|
|
d21897 |
+++ b/src/lib/reporters.c
|
|
|
d21897 |
@@ -0,0 +1,80 @@
|
|
|
d21897 |
+/*
|
|
|
d21897 |
+ String buffer implementation
|
|
|
d21897 |
+
|
|
|
d21897 |
+ Copyright (C) 2015 RedHat inc.
|
|
|
d21897 |
+
|
|
|
d21897 |
+ This program is free software; you can redistribute it and/or modify
|
|
|
d21897 |
+ it under the terms of the GNU General Public License as published by
|
|
|
d21897 |
+ the Free Software Foundation; either version 2 of the License, or
|
|
|
d21897 |
+ (at your option) any later version.
|
|
|
d21897 |
+
|
|
|
d21897 |
+ This program is distributed in the hope that it will be useful,
|
|
|
d21897 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
d21897 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
d21897 |
+ GNU General Public License for more details.
|
|
|
d21897 |
+
|
|
|
d21897 |
+ You should have received a copy of the GNU General Public License along
|
|
|
d21897 |
+ with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
d21897 |
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
d21897 |
+*/
|
|
|
d21897 |
+
|
|
|
d21897 |
+#include "internal_libreport.h"
|
|
|
d21897 |
+
|
|
|
d21897 |
+int
|
|
|
d21897 |
+is_comment_dup(GList *comments, const char *comment)
|
|
|
d21897 |
+{
|
|
|
d21897 |
+ char * const trim_comment = trim_all_whitespace(comment);
|
|
|
d21897 |
+ bool same_comments = false;
|
|
|
d21897 |
+
|
|
|
d21897 |
+ for (GList *l = comments; l && !same_comments; l = l->next)
|
|
|
d21897 |
+ {
|
|
|
d21897 |
+ const char * const comment_body = (const char *) l->data;
|
|
|
d21897 |
+ char * const trim_comment_body = trim_all_whitespace(comment_body);
|
|
|
d21897 |
+ same_comments = (strcmp(trim_comment_body, trim_comment) == 0);
|
|
|
d21897 |
+ free(trim_comment_body);
|
|
|
d21897 |
+ }
|
|
|
d21897 |
+
|
|
|
d21897 |
+ free(trim_comment);
|
|
|
d21897 |
+ return same_comments;
|
|
|
d21897 |
+}
|
|
|
d21897 |
+
|
|
|
d21897 |
+unsigned
|
|
|
d21897 |
+comments_find_best_bt_rating(GList *comments)
|
|
|
d21897 |
+{
|
|
|
d21897 |
+ if (comments == NULL)
|
|
|
d21897 |
+ return 0;
|
|
|
d21897 |
+
|
|
|
d21897 |
+ unsigned best_rating = 0;
|
|
|
d21897 |
+ for (GList *l = comments; l; l = l->next)
|
|
|
d21897 |
+ {
|
|
|
d21897 |
+ char *comment_body = (char *) l->data;
|
|
|
d21897 |
+
|
|
|
d21897 |
+ char *start_rating_line = strstr(comment_body, FILENAME_RATING": ");
|
|
|
d21897 |
+ if (!start_rating_line)
|
|
|
d21897 |
+ {
|
|
|
d21897 |
+ log_debug(_("Note does not contain rating"));
|
|
|
d21897 |
+ continue;
|
|
|
d21897 |
+ }
|
|
|
d21897 |
+
|
|
|
d21897 |
+ start_rating_line += strlen(FILENAME_RATING": ");
|
|
|
d21897 |
+
|
|
|
d21897 |
+ errno = 0;
|
|
|
d21897 |
+ char *e;
|
|
|
d21897 |
+ long rating = strtoul(start_rating_line, &e, 10);
|
|
|
d21897 |
+ /*
|
|
|
d21897 |
+ * Note: we intentionally check for '\n'. Any other terminator
|
|
|
d21897 |
+ * (even '\0') is not ok in this case.
|
|
|
d21897 |
+ */
|
|
|
d21897 |
+ if (errno || e == start_rating_line || (*e != '\n' && *e != '\r') || (unsigned long)rating > UINT_MAX)
|
|
|
d21897 |
+ {
|
|
|
d21897 |
+ /* error / no digits / illegal trailing chars */
|
|
|
d21897 |
+ continue;
|
|
|
d21897 |
+ }
|
|
|
d21897 |
+
|
|
|
d21897 |
+ if (rating > best_rating)
|
|
|
d21897 |
+ best_rating = rating;
|
|
|
d21897 |
+ }
|
|
|
d21897 |
+
|
|
|
d21897 |
+ return best_rating;
|
|
|
d21897 |
+}
|
|
|
d21897 |
+
|
|
|
d21897 |
diff --git a/src/lib/strbuf.c b/src/lib/strbuf.c
|
|
|
d21897 |
index ef8bda8..f0cd1b8 100644
|
|
|
d21897 |
--- a/src/lib/strbuf.c
|
|
|
d21897 |
+++ b/src/lib/strbuf.c
|
|
|
d21897 |
@@ -37,6 +37,66 @@ int suffixcmp(const char *str, const char *suffix)
|
|
|
d21897 |
return strcmp(str + len_minus_suflen, suffix);
|
|
|
d21897 |
}
|
|
|
d21897 |
|
|
|
d21897 |
+char *trim_all_whitespace(const char *str)
|
|
|
d21897 |
+{
|
|
|
d21897 |
+ char *trim = xzalloc(sizeof(char) * strlen(str) + 1);
|
|
|
d21897 |
+ int i = 0;
|
|
|
d21897 |
+ while (*str)
|
|
|
d21897 |
+ {
|
|
|
d21897 |
+ if (!isspace(*str))
|
|
|
d21897 |
+ trim[i++] = *str;
|
|
|
d21897 |
+ str++;
|
|
|
d21897 |
+ }
|
|
|
d21897 |
+
|
|
|
d21897 |
+ return trim;
|
|
|
d21897 |
+}
|
|
|
d21897 |
+
|
|
|
d21897 |
+/* If str is longer than max allowed length then
|
|
|
d21897 |
+ * try to find first ' ' from the end of acceptable long str string
|
|
|
d21897 |
+ *
|
|
|
d21897 |
+ * If ' ' is found replace string after that by "..."
|
|
|
d21897 |
+ *
|
|
|
d21897 |
+ * If ' ' is NOT found in maximal allowed range, cut str string on
|
|
|
d21897 |
+ * lenght (MAX_SUMMARY_LENGTH - strlen("...")) and append "..."
|
|
|
d21897 |
+ *
|
|
|
d21897 |
+ * If MAX_LENGTH is 15 and max allowed cut is 5:
|
|
|
d21897 |
+ *
|
|
|
d21897 |
+ * 0123456789ABCDEF -> 0123456789AB...
|
|
|
d21897 |
+ * 0123456789 BCDEF -> 0123456789 ...
|
|
|
d21897 |
+ * 012345 789ABCDEF -> 012345 789AB...
|
|
|
d21897 |
+ */
|
|
|
d21897 |
+char *
|
|
|
d21897 |
+shorten_string_to_length(const char *str, unsigned length)
|
|
|
d21897 |
+{
|
|
|
d21897 |
+ char *dup_str = xstrdup(str);
|
|
|
d21897 |
+ if (strlen(str) > length)
|
|
|
d21897 |
+ {
|
|
|
d21897 |
+ char *max_end = dup_str + (length - strlen("..."));
|
|
|
d21897 |
+
|
|
|
d21897 |
+ /* maximal number of characters to cut due to attempt cut dup_str
|
|
|
d21897 |
+ * string after last ' '
|
|
|
d21897 |
+ */
|
|
|
d21897 |
+ int max_cut = 16;
|
|
|
d21897 |
+
|
|
|
d21897 |
+ /* start looking for ' ' one char before the last possible character */
|
|
|
d21897 |
+ char *buf = max_end - 1;
|
|
|
d21897 |
+ while (buf[0] != ' ' && max_cut--)
|
|
|
d21897 |
+ --buf;
|
|
|
d21897 |
+
|
|
|
d21897 |
+ if (buf[0] != ' ')
|
|
|
d21897 |
+ buf = max_end;
|
|
|
d21897 |
+ else
|
|
|
d21897 |
+ ++buf;
|
|
|
d21897 |
+
|
|
|
d21897 |
+ buf[0] = '.';
|
|
|
d21897 |
+ buf[1] = '.';
|
|
|
d21897 |
+ buf[2] = '.';
|
|
|
d21897 |
+ buf[3] = '\0';
|
|
|
d21897 |
+ }
|
|
|
d21897 |
+
|
|
|
d21897 |
+ return dup_str;
|
|
|
d21897 |
+}
|
|
|
d21897 |
+
|
|
|
d21897 |
/*
|
|
|
d21897 |
* Trims whitespace characters both from left and right side of a string.
|
|
|
d21897 |
* Modifies the string in-place. Returns the trimmed string.
|
|
|
d21897 |
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
|
|
|
d21897 |
index a227c62..fdcfff9 100644
|
|
|
d21897 |
--- a/src/plugins/rhbz.c
|
|
|
d21897 |
+++ b/src/plugins/rhbz.c
|
|
|
d21897 |
@@ -133,41 +133,6 @@ static GList *rhbz_comments(struct abrt_xmlrpc *ax, int bug_id)
|
|
|
d21897 |
return g_list_reverse(comments);
|
|
|
d21897 |
}
|
|
|
d21897 |
|
|
|
d21897 |
-static char *trim_all_whitespace(const char *str)
|
|
|
d21897 |
-{
|
|
|
d21897 |
- func_entry();
|
|
|
d21897 |
-
|
|
|
d21897 |
- char *trim = xzalloc(sizeof(char) * strlen(str) + 1);
|
|
|
d21897 |
- int i = 0;
|
|
|
d21897 |
- while (*str)
|
|
|
d21897 |
- {
|
|
|
d21897 |
- if (!isspace(*str))
|
|
|
d21897 |
- trim[i++] = *str;
|
|
|
d21897 |
- str++;
|
|
|
d21897 |
- }
|
|
|
d21897 |
-
|
|
|
d21897 |
- return trim;
|
|
|
d21897 |
-}
|
|
|
d21897 |
-
|
|
|
d21897 |
-int is_comment_dup(GList *comments, const char *comment)
|
|
|
d21897 |
-{
|
|
|
d21897 |
- func_entry();
|
|
|
d21897 |
-
|
|
|
d21897 |
- char * const trim_comment = trim_all_whitespace(comment);
|
|
|
d21897 |
- bool same_comments = false;
|
|
|
d21897 |
-
|
|
|
d21897 |
- for (GList *l = comments; l && !same_comments; l = l->next)
|
|
|
d21897 |
- {
|
|
|
d21897 |
- const char * const comment_body = (const char *) l->data;
|
|
|
d21897 |
- char * const trim_comment_body = trim_all_whitespace(comment_body);
|
|
|
d21897 |
- same_comments = (strcmp(trim_comment_body, trim_comment) == 0);
|
|
|
d21897 |
- free(trim_comment_body);
|
|
|
d21897 |
- }
|
|
|
d21897 |
-
|
|
|
d21897 |
- free(trim_comment);
|
|
|
d21897 |
- return same_comments;
|
|
|
d21897 |
-}
|
|
|
d21897 |
-
|
|
|
d21897 |
static unsigned find_best_bt_rating_in_comments(GList *comments)
|
|
|
d21897 |
{
|
|
|
d21897 |
func_entry();
|
|
|
d21897 |
@@ -553,46 +518,7 @@ int rhbz_new_bug(struct abrt_xmlrpc *ax,
|
|
|
d21897 |
if (!duphash) duphash = problem_data_get_content_or_NULL(problem_data,
|
|
|
d21897 |
"global_uuid");
|
|
|
d21897 |
|
|
|
d21897 |
- /* If summary is longer than max allowed summary length then
|
|
|
d21897 |
- * try to find first ' ' from the end of acceptable long summary string
|
|
|
d21897 |
- *
|
|
|
d21897 |
- * If ' ' is found replace string after that by "..."
|
|
|
d21897 |
- *
|
|
|
d21897 |
- * If ' ' is NOT found in maximal allowed range, cut summary string on
|
|
|
d21897 |
- * lenght (MAX_SUMMARY_LENGTH - strlen("...")) and append "..."
|
|
|
d21897 |
- *
|
|
|
d21897 |
- * If MAX_SUMMARY_LENGTH is 15 and max allowed cut is 5:
|
|
|
d21897 |
- *
|
|
|
d21897 |
- * 0123456789ABCDEF -> 0123456789AB...
|
|
|
d21897 |
- * 0123456789 BCDEF -> 0123456789 ...
|
|
|
d21897 |
- * 012345 789ABCDEF -> 012345 789AB...
|
|
|
d21897 |
- */
|
|
|
d21897 |
- char *summary = NULL;
|
|
|
d21897 |
- if (strlen(bzsummary) > MAX_SUMMARY_LENGTH)
|
|
|
d21897 |
- {
|
|
|
d21897 |
- summary = xstrdup(bzsummary);
|
|
|
d21897 |
- char *max_end = summary + (MAX_SUMMARY_LENGTH - strlen("..."));
|
|
|
d21897 |
-
|
|
|
d21897 |
- /* maximal number of characters to cut due to attempt cut summary
|
|
|
d21897 |
- * string after last ' '
|
|
|
d21897 |
- */
|
|
|
d21897 |
- int max_cut = 16;
|
|
|
d21897 |
-
|
|
|
d21897 |
- /* start looking for ' ' one char before the last possible character */
|
|
|
d21897 |
- char *buf = max_end - 1;
|
|
|
d21897 |
- while (buf[0] != ' ' && max_cut--)
|
|
|
d21897 |
- --buf;
|
|
|
d21897 |
-
|
|
|
d21897 |
- if (buf[0] != ' ')
|
|
|
d21897 |
- buf = max_end;
|
|
|
d21897 |
- else
|
|
|
d21897 |
- ++buf;
|
|
|
d21897 |
-
|
|
|
d21897 |
- buf[0] = '.';
|
|
|
d21897 |
- buf[1] = '.';
|
|
|
d21897 |
- buf[2] = '.';
|
|
|
d21897 |
- buf[3] = '\0';
|
|
|
d21897 |
- }
|
|
|
d21897 |
+ char *summary = shorten_string_to_length(bzsummary, MAX_SUMMARY_LENGTH);
|
|
|
d21897 |
|
|
|
d21897 |
char *status_whiteboard = xasprintf("abrt_hash:%s", duphash);
|
|
|
d21897 |
|
|
|
d21897 |
@@ -604,7 +530,7 @@ int rhbz_new_bug(struct abrt_xmlrpc *ax,
|
|
|
d21897 |
abrt_xmlrpc_params_add_string(&env, params, "product", product);
|
|
|
d21897 |
abrt_xmlrpc_params_add_string(&env, params, "component", component);
|
|
|
d21897 |
abrt_xmlrpc_params_add_string(&env, params, "version", version);
|
|
|
d21897 |
- abrt_xmlrpc_params_add_string(&env, params, "summary", (summary ? summary : bzsummary));
|
|
|
d21897 |
+ abrt_xmlrpc_params_add_string(&env, params, "summary", summary);
|
|
|
d21897 |
abrt_xmlrpc_params_add_string(&env, params, "description", bzcomment);
|
|
|
d21897 |
abrt_xmlrpc_params_add_string(&env, params, "status_whiteboard", status_whiteboard);
|
|
|
d21897 |
|
|
|
d21897 |
diff --git a/src/plugins/rhbz.h b/src/plugins/rhbz.h
|
|
|
d21897 |
index 15e7699..86632a3 100644
|
|
|
d21897 |
--- a/src/plugins/rhbz.h
|
|
|
d21897 |
+++ b/src/plugins/rhbz.h
|
|
|
d21897 |
@@ -105,8 +105,6 @@ int rhbz_attach_blob(struct abrt_xmlrpc *ax, const char *bug_id,
|
|
|
d21897 |
int rhbz_attach_fd(struct abrt_xmlrpc *ax, const char *bug_id,
|
|
|
d21897 |
const char *att_name, int fd, int flags);
|
|
|
d21897 |
|
|
|
d21897 |
-int is_comment_dup(GList *comments, const char *comment);
|
|
|
d21897 |
-
|
|
|
d21897 |
GList *rhbz_bug_cc(xmlrpc_value *result_xml);
|
|
|
d21897 |
|
|
|
d21897 |
struct bug_info *rhbz_bug_info(struct abrt_xmlrpc *ax, int bug_id);
|
|
|
d21897 |
--
|
|
|
d21897 |
1.8.3.1
|
|
|
d21897 |
|