Denys Vlasenko <[email protected]> writes:

> diff -x '*.po' -d -urpN libreport.5/src/plugins/rhbz.c 
> libreport.6/src/plugins/rhbz.c
> --- libreport.5/src/plugins/rhbz.c    2012-08-17 17:28:49.000000000 +0200
> +++ libreport.6/src/plugins/rhbz.c    2012-08-28 13:28:48.770043600 +0200
> @@ -17,6 +17,14 @@
>      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
>  */
>
> +/* Bugzilla API doc:
> + * http://www.bugzilla.org/docs/4.2/en/html/api/Bugzilla/WebService.html
> + * http://www.bugzilla.org/docs/tip/en/html/api/Bugzilla/WebService.html
> + *
> + * To make libxmlrpc print debug info to stdout (stderr?),
> + * export XMLRPC_TRACE_XML=1
> + */
> +
>  #include "internal_libreport.h"
>  #include "rhbz.h"
>  #include <btparser/location.h>
> @@ -758,9 +766,9 @@ int rhbz_attach_blob(struct abrt_xmlrpc
>      char *encoded64 = encode_base64(data, data_len);
>      char *fn = xasprintf("File: %s", filename);
>      xmlrpc_value* result;
> -    int nomail_notify = IS_NOMAIL_NOTIFY(flags);
> +    int nomail_notify = !!IS_NOMAIL_NOTIFY(flags);
>
> -    result= abrt_xmlrpc_call(ax, "bugzilla.addAttachment", 
> "(s{s:s,s:s,s:s,s:s,s:i})",
> +    result = abrt_xmlrpc_call(ax, "bugzilla.addAttachment", 
> "(s{s:s,s:s,s:s,s:s,s:i})",
>                               bug_id,
>                               "description", fn,
>                               "filename", filename,
> @@ -926,13 +934,41 @@ void rhbz_mail_to_cc(struct abrt_xmlrpc
>      func_entry();
>
>      xmlrpc_value *result;
> -    int nomail_notify = IS_NOMAIL_NOTIFY(flags);
> +    int nomail_notify = !!IS_NOMAIL_NOTIFY(flags);
> +#if 0 /* Obsolete API */
>      result = abrt_xmlrpc_call(ax, "Bug.update", "({s:i,s:{s:(s),s:i}})",
> -                              "ids", bug_id, "updates", "add_cc", mail,
> -                              "nomail", nomail_notify);
> -
> +                              "ids", bug_id,
> +                              "updates", "add_cc", mail,
> +                                         "nomail", nomail_notify
> +    );
> +#endif

I think, you can safely remove #if 0 /* Obsolete API */ ... #endif.

rest is ok.

> +    /* Bugzilla 4.0+ uses this API: */
> +    result = abrt_xmlrpc_call(ax, "Bug.update", "({s:i,s:{s:(s),s:i}})",
> +                              "ids", bug_id,
> +                              "cc", "add", mail,
> +                                    "nomail", nomail_notify
> +    );
>      if (result)
>          xmlrpc_DECREF(result);
> +
> +    /* TODO: check that result does indicate that CC was updated.
> +     * The structure I see from Bugzilla 4.2:
> +     * <struct>
> +     * <member><name>bugs</name><value>
> +     *   <array><data><value><struct>
> +     *     <member><name>changes</name><value><struct>
> +     *       <member><name>cc</name><value><struct>
> +     *         <member><name>removed</name><value><string /></value></member>
> +     *         
> <member><name>added</name><value><string>[email protected]</string></value></member>
> +     *         </struct></value></member>
> +     *       </struct></value></member>
> +     *     
> <member><name>last_change_time</name><value><dateTime.iso8601>20120828T11:09:04</dateTime.iso8601></value></member>
> +     *     <member><name>id</name><value><int>NNNNNNN</int></value></member>
> +     *     <member><name>alias</name><value><array><data 
> /></array></value></member>
> +     *     </struct></value></data>
> +     *   </array></value>
> +     * </member></struct>
> +     */
>  }
>
>  void rhbz_add_comment(struct abrt_xmlrpc *ax, int bug_id, const char 
> *comment,
> @@ -940,8 +976,8 @@ void rhbz_add_comment(struct abrt_xmlrpc
>  {
>      func_entry();
>
> -    int private = IS_PRIVATE(flags);
> -    int nomail_notify = IS_NOMAIL_NOTIFY(flags);
> +    int private = !!IS_PRIVATE(flags);
> +    int nomail_notify = !!IS_NOMAIL_NOTIFY(flags);
>
>      xmlrpc_value *result;
>      result = abrt_xmlrpc_call(ax, "Bug.add_comment", "({s:i,s:s,s:b,s:i})",

-- 
Nikola

Reply via email to