"DV" == Denys Vlasenko dvlasenk@redhat.com wrote:
Denys> On Tue, 2011-03-15 at 13:02 +0100, Nikola Pajkovsky wrote: Denys> > Signed-off-by: Nikola Pajkovsky npajkovs@redhat.com Denys> > --- Denys> > src/plugins/abrt-action-bugzilla.cpp | 30 Denys> > ++++++------------------------ 1 files changed, 6 insertions(+), 24 Denys> > deletions(-) Denys> > Denys> > diff --git a/src/plugins/abrt-action-bugzilla.cpp Denys> > b/src/plugins/abrt-action-bugzilla.cpp index c77a2ba..5b4eacc 100644 Denys> > --- a/src/plugins/abrt-action-bugzilla.cpp Denys> > +++ b/src/plugins/abrt-action-bugzilla.cpp Denys> > @@ -41,9 +41,10 @@ struct bug_info { Denys> > const char* bug_reporter; Denys> > const char* bug_product; Denys> > xmlrpc_int32 bug_dup_id; Denys> > - std::vector<char*> bug_cc; Denys> > + GList* bug_cc; Denys> > }; Denys> > Denys> > +/* xzalloc */ Denys> > static void bug_info_init(struct bug_info* bz) Denys> > { Denys> > bz->bug_status = NULL; Denys> > @@ -60,27 +61,7 @@ static void bug_info_destroy(struct bug_info* bz) Denys> > free((void*)bz->bug_reporter); Denys> > free((void*)bz->bug_product); Denys> > Denys> > - if (!bz->bug_cc.empty()) Denys> > - { Denys> > - for (unsigned ii = 0; ii < bz->bug_cc.size(); ii++) Denys> > - free(bz->bug_cc[ii]); Denys> > - Denys> > - bz->bug_cc.clear(); Denys> > - } Denys> > -} Denys> > - Denys> > -static int am_i_in_cc(const struct bug_info* bz, const char* login) Denys> > -{ Denys> > - if (bz->bug_cc.empty()) Denys> > - return -1; Denys> > - Denys> > - int size = bz->bug_cc.size(); Denys> > - for (int ii = 0; ii < size; ii++) Denys> > - { Denys> > - if (strcmp(login, bz->bug_cc[ii]) == 0) Denys> > - return 0; Denys> > - } Denys> > - return -1; Denys> > + list_free_with_free(bz->bug_cc); Denys> > } Denys> > Denys> > /* Denys> > @@ -308,7 +289,7 @@ void ctx::get_bug_cc(xmlrpc_value* result_xml, Denys> > struct bug_info* bz) Denys> > if (*cc != '\0') Denys> > { Denys> > - bz->bug_cc.push_back((char*)cc); Denys> > + bz->bug_cc = g_list_append(bz->bug_cc, (char*)cc); Denys> > VERB3 log("member on cc is %s", cc); Denys> > continue; Denys> > } Denys> > @@ -846,7 +827,8 @@ static void report_to_bugzilla( Denys> > if (strcmp(bz.bug_status, "CLOSED") != 0) Denys> > { Denys> > int status = 0; Denys> > - if ((strcmp(bz.bug_reporter, login) != 0) && (am_i_in_cc(&bz, Denys> > login))) Denys> > + if ((strcmp(bz.bug_reporter, login) != 0) Denys> > + && (g_list_find(bz.bug_cc, login))) Denys> > { Denys> > log(_("Add %s to CC list"), login); Denys> > status = bz_server.add_plus_one_cc(bug_id, login); Denys> Denys> Denys> Denys> Looks good to me, please apply.
Thanks, will merge it into master in a minute