pidgin/pidgin

Bump C standard to C99 for XMPP and fix warnings

17 months ago, Elliott Sales de Andrade
025eee9e6f1d
Parents c7bcaf2f41ef
Children 2fc2db360044
Bump C standard to C99 for XMPP and fix warnings

Testing Done:
Touch all XMPP source files, recompiled and saw no new warnings.

Reviewed at https://reviews.imfreedom.org/r/2125/
  • +13 -9
    libpurple/protocols/jabber/adhoccommands.c
  • +10 -7
    libpurple/protocols/jabber/auth.c
  • +8 -4
    libpurple/protocols/jabber/auth_cyrus.c
  • +3 -2
    libpurple/protocols/jabber/auth_digest_md5.c
  • +2 -1
    libpurple/protocols/jabber/auth_plain.c
  • +4 -2
    libpurple/protocols/jabber/auth_scram.c
  • +2 -1
    libpurple/protocols/jabber/auth_webex.c
  • +53 -33
    libpurple/protocols/jabber/buddy.c
  • +5 -3
    libpurple/protocols/jabber/caps.c
  • +56 -37
    libpurple/protocols/jabber/chat.c
  • +9 -6
    libpurple/protocols/jabber/data.c
  • +14 -8
    libpurple/protocols/jabber/disco.c
  • +14 -8
    libpurple/protocols/jabber/ibb.c
  • +6 -6
    libpurple/protocols/jabber/iq.c
  • +120 -78
    libpurple/protocols/jabber/jabber.c
  • +2 -2
    libpurple/protocols/jabber/jingle/content.c
  • +2 -2
    libpurple/protocols/jabber/jingle/iceudp.c
  • +3 -2
    libpurple/protocols/jabber/jingle/jingle.c
  • +2 -2
    libpurple/protocols/jabber/jingle/rawudp.c
  • +17 -12
    libpurple/protocols/jabber/jingle/rtp.c
  • +4 -4
    libpurple/protocols/jabber/jingle/session.c
  • +10 -5
    libpurple/protocols/jabber/jingle/transport.c
  • +3 -1
    libpurple/protocols/jabber/meson.build
  • +8 -6
    libpurple/protocols/jabber/message.c
  • +1 -2
    libpurple/protocols/jabber/oob.c
  • +9 -4
    libpurple/protocols/jabber/parser.c
  • +6 -2
    libpurple/protocols/jabber/pep.c
  • +14 -8
    libpurple/protocols/jabber/ping.c
  • +26 -15
    libpurple/protocols/jabber/presence.c
  • +10 -8
    libpurple/protocols/jabber/roster.c
  • +17 -10
    libpurple/protocols/jabber/si.c
  • +2 -1
    libpurple/protocols/jabber/tests/meson.build
  • +2 -1
    libpurple/protocols/jabber/useravatar.c
  • +88 -86
    libpurple/protocols/jabber/usermood.c
  • +4 -1
    libpurple/protocols/jabber/usernick.c
  • +19 -12
    libpurple/protocols/jabber/xdata.c
  • +3 -3
    libpurple/protocols/jabber/xmpp.c
  • --- a/libpurple/protocols/jabber/adhoccommands.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/adhoccommands.c Mon Dec 12 23:41:40 2022 -0600
    @@ -43,7 +43,8 @@
    g_free(cmd);
    }
    -static void do_adhoc_ignoreme(JabberStream *js, ...) {
    +static void
    +do_adhoc_ignoreme(G_GNUC_UNUSED JabberStream *js, ...) {
    /* we don't have to do anything */
    }
    @@ -93,8 +94,8 @@
    void
    jabber_adhoc_disco_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query;
    const char *node;
    @@ -147,9 +148,9 @@
    }
    static void
    -jabber_adhoc_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +jabber_adhoc_parse(JabberStream *js, const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *command = purple_xmlnode_get_child_with_namespace(packet, "command", "http://jabber.org/protocol/commands");
    const char *status = purple_xmlnode_get_attrib(command,"status");
    @@ -238,7 +239,8 @@
    }
    static void
    -jabber_adhoc_got_server_list(JabberStream *js, const char *from, PurpleXmlNode *query)
    +jabber_adhoc_got_server_list(JabberStream *js, G_GNUC_UNUSED const char *from,
    + PurpleXmlNode *query)
    {
    PurpleXmlNode *item;
    @@ -270,8 +272,10 @@
    static void
    jabber_adhoc_server_got_list_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query = purple_xmlnode_get_child_with_namespace(packet, "query",
    NS_DISCO_ITEMS);
    --- a/libpurple/protocols/jabber/auth.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/auth.c Mon Dec 12 23:41:40 2022 -0600
    @@ -116,7 +116,8 @@
    }
    static void
    -auth_no_pass_cb(PurpleConnection *gc, PurpleRequestFields *fields)
    +auth_no_pass_cb(PurpleConnection *gc,
    + G_GNUC_UNUSED PurpleRequestFields *fields)
    {
    /* TODO: the password prompt dialog doesn't get disposed if the account disconnects */
    PURPLE_ASSERT_CONNECTION_IS_VALID(gc);
    @@ -232,9 +233,10 @@
    g_free(msg);
    }
    -static void auth_old_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +auth_old_result_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, G_GNUC_UNUSED gpointer data)
    {
    if (type == JABBER_IQ_RESULT) {
    jabber_stream_set_state(js, JABBER_STREAM_POST_AUTH);
    @@ -270,9 +272,10 @@
    }
    }
    -static void auth_old_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +auth_old_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, G_GNUC_UNUSED gpointer data)
    {
    JabberIq *iq;
    PurpleXmlNode *query, *x;
    --- a/libpurple/protocols/jabber/auth_cyrus.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/auth_cyrus.c Mon Dec 12 23:41:40 2022 -0600
    @@ -61,7 +61,9 @@
    /* Callbacks for Cyrus SASL */
    -static int jabber_sasl_cb_realm(void *ctx, int id, const char **avail, const char **result)
    +static int
    +jabber_sasl_cb_realm(void *ctx, int id, G_GNUC_UNUSED const char **avail,
    + const char **result)
    {
    JabberStream *js = ctx;
    @@ -169,7 +171,8 @@
    }
    static void
    -auth_no_pass_cb(PurpleConnection *gc, PurpleRequestFields *fields)
    +auth_no_pass_cb(PurpleConnection *gc,
    + G_GNUC_UNUSED PurpleRequestFields *fields)
    {
    PurpleAccount *account;
    @@ -400,7 +403,7 @@
    }
    static int
    -jabber_sasl_cb_log(void *context, int level, const char *message)
    +jabber_sasl_cb_log(G_GNUC_UNUSED void *context, int level, const char *message)
    {
    if(level <= SASL_LOG_TRACE)
    purple_debug_info("sasl", "%s\n", message);
    @@ -610,7 +613,8 @@
    }
    static JabberSaslState
    -jabber_cyrus_handle_failure(JabberStream *js, PurpleXmlNode *packet,
    +jabber_cyrus_handle_failure(JabberStream *js,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    PurpleXmlNode **reply, char **error)
    {
    if (js->auth_fail_count++ < 5) {
    --- a/libpurple/protocols/jabber/auth_digest_md5.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/auth_digest_md5.c Mon Dec 12 23:41:40 2022 -0600
    @@ -29,8 +29,9 @@
    #include "jabber.h"
    static JabberSaslState
    -digest_md5_start(JabberStream *js, PurpleXmlNode *packet, PurpleXmlNode **response,
    - char **error)
    +digest_md5_start(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED PurpleXmlNode *packet, PurpleXmlNode **response,
    + G_GNUC_UNUSED char **error)
    {
    PurpleXmlNode *auth = purple_xmlnode_new("auth");
    purple_xmlnode_set_namespace(auth, NS_XMPP_SASL);
    --- a/libpurple/protocols/jabber/auth_plain.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/auth_plain.c Mon Dec 12 23:41:40 2022 -0600
    @@ -74,7 +74,8 @@
    }
    static JabberSaslState
    -jabber_plain_start(JabberStream *js, PurpleXmlNode *packet, PurpleXmlNode **response, char **error)
    +jabber_plain_start(JabberStream *js, G_GNUC_UNUSED PurpleXmlNode *packet,
    + PurpleXmlNode **response, G_GNUC_UNUSED char **error)
    {
    PurpleAccount *account = purple_connection_get_account(js->gc);
    char *msg;
    --- a/libpurple/protocols/jabber/auth_scram.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/auth_scram.c Mon Dec 12 23:41:40 2022 -0600
    @@ -252,7 +252,8 @@
    }
    static gboolean
    -parse_server_step2(JabberScramData *data, const char *challenge, gchar **out_verifier)
    +parse_server_step2(G_GNUC_UNUSED JabberScramData *data, const char *challenge,
    + char **out_verifier)
    {
    char **tokens;
    char *token;
    @@ -354,7 +355,8 @@
    }
    static JabberSaslState
    -scram_start(JabberStream *js, PurpleXmlNode *mechanisms, PurpleXmlNode **out, char **error)
    +scram_start(JabberStream *js, G_GNUC_UNUSED PurpleXmlNode *mechanisms,
    + PurpleXmlNode **out, char **error)
    {
    PurpleXmlNode *reply;
    JabberScramData *data;
    --- a/libpurple/protocols/jabber/auth_webex.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/auth_webex.c Mon Dec 12 23:41:40 2022 -0600
    @@ -39,7 +39,8 @@
    }
    static JabberSaslState
    -jabber_webex_start(JabberStream *js, PurpleXmlNode *packet, PurpleXmlNode **response, char **error)
    +jabber_webex_start(JabberStream *js, G_GNUC_UNUSED PurpleXmlNode *packet,
    + PurpleXmlNode **response, G_GNUC_UNUSED char **error)
    {
    *response = finish_webex_authentication(js);
    return JABBER_SASL_STATE_OK;
    --- a/libpurple/protocols/jabber/buddy.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/buddy.c Mon Dec 12 23:41:40 2022 -0600
    @@ -439,8 +439,8 @@
    * Send vCard info to Jabber server
    */
    void
    -jabber_set_info(PurpleProtocolServer *protocol_server, PurpleConnection *gc,
    - const gchar *info)
    +jabber_set_info(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    + PurpleConnection *gc, const char *info)
    {
    PurpleImage *img;
    JabberIq *iq;
    @@ -533,7 +533,7 @@
    }
    void
    -jabber_set_buddy_icon(PurpleProtocolServer *protocol_server,
    +jabber_set_buddy_icon(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, PurpleImage *img)
    {
    PurpleAccount *account = purple_connection_get_account(gc);
    @@ -900,9 +900,10 @@
    }
    }
    -static void jabber_vcard_save_mine(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_vcard_save_mine(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *vcard, *photo, *binval;
    char *txt, *vcard_hash = NULL;
    @@ -1237,9 +1238,10 @@
    return purple_strequal(resource_1, resource_2);
    }
    -static void jabber_version_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_version_parse(G_GNUC_UNUSED JabberStream *js, const char *from,
    + JabberIqType type, const char *id, PurpleXmlNode *packet,
    + gpointer data)
    {
    JabberBuddyInfo *jbi = data;
    PurpleXmlNode *query;
    @@ -1356,9 +1358,10 @@
    jabber_buddy_info_show_if_ready(jbi);
    }
    -static void jabber_last_offline_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_last_offline_parse(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from, JabberIqType type,
    + const char *id, PurpleXmlNode *packet, gpointer data)
    {
    JabberBuddyInfo *jbi = data;
    PurpleXmlNode *query;
    @@ -1385,9 +1388,10 @@
    jabber_buddy_info_show_if_ready(jbi);
    }
    -static void jabber_time_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_time_parse(G_GNUC_UNUSED JabberStream *js, const char *from,
    + JabberIqType type, const char *id, PurpleXmlNode *packet,
    + gpointer data)
    {
    JabberBuddyInfo *jbi = data;
    JabberBuddyResource *jbr;
    @@ -1608,7 +1612,7 @@
    }
    void
    -jabber_buddy_get_info(PurpleProtocolServer *protocol_server,
    +jabber_buddy_get_info(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, const char *who)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -1662,7 +1666,8 @@
    purple_xmlnode_free(presence);
    }
    -static void jabber_buddy_make_invisible(PurpleBlistNode *node, gpointer data)
    +static void
    +jabber_buddy_make_invisible(PurpleBlistNode *node, G_GNUC_UNUSED gpointer data)
    {
    PurpleBuddy *buddy;
    PurpleConnection *gc;
    @@ -1677,7 +1682,8 @@
    jabber_buddy_set_invisibility(js, purple_buddy_get_name(buddy), TRUE);
    }
    -static void jabber_buddy_make_visible(PurpleBlistNode *node, gpointer data)
    +static void
    +jabber_buddy_make_visible(PurpleBlistNode *node, G_GNUC_UNUSED gpointer data)
    {
    PurpleBuddy *buddy;
    PurpleConnection *gc;
    @@ -1707,7 +1713,7 @@
    static void
    jabber_buddy_cancel_presence_notification(PurpleBlistNode *node,
    - gpointer data)
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleBuddy *buddy;
    PurpleAccount *account;
    @@ -1730,7 +1736,8 @@
    g_free(msg);
    }
    -static void jabber_buddy_rerequest_auth(PurpleBlistNode *node, gpointer data)
    +static void
    +jabber_buddy_rerequest_auth(PurpleBlistNode *node, G_GNUC_UNUSED gpointer data)
    {
    PurpleBuddy *buddy;
    PurpleConnection *gc;
    @@ -1745,8 +1752,8 @@
    jabber_presence_subscription_set(js, purple_buddy_get_name(buddy), "subscribe");
    }
    -
    -static void jabber_buddy_unsubscribe(PurpleBlistNode *node, gpointer data)
    +static void
    +jabber_buddy_unsubscribe(PurpleBlistNode *node, G_GNUC_UNUSED gpointer data)
    {
    PurpleBuddy *buddy;
    PurpleConnection *gc;
    @@ -1761,7 +1768,9 @@
    jabber_presence_subscription_set(js, purple_buddy_get_name(buddy), "unsubscribe");
    }
    -static void jabber_buddy_login(PurpleBlistNode *node, gpointer data) {
    +static void
    +jabber_buddy_login(PurpleBlistNode *node, G_GNUC_UNUSED gpointer data)
    +{
    if(PURPLE_IS_BUDDY(node)) {
    /* simply create a directed presence of the current status */
    PurpleBuddy *buddy = (PurpleBuddy *) node;
    @@ -1787,7 +1796,9 @@
    }
    }
    -static void jabber_buddy_logout(PurpleBlistNode *node, gpointer data) {
    +static void
    +jabber_buddy_logout(PurpleBlistNode *node, G_GNUC_UNUSED gpointer data)
    +{
    if(PURPLE_IS_BUDDY(node)) {
    /* simply create a directed unavailable presence */
    PurpleBuddy *buddy = (PurpleBuddy *) node;
    @@ -1893,7 +1904,8 @@
    }
    GList *
    -jabber_blist_node_menu(PurpleProtocolClient *client, PurpleBlistNode *node)
    +jabber_blist_node_menu(G_GNUC_UNUSED PurpleProtocolClient *client,
    + PurpleBlistNode *node)
    {
    if(PURPLE_IS_BUDDY(node)) {
    return jabber_buddy_menu((PurpleBuddy *) node);
    @@ -1903,16 +1915,20 @@
    }
    -static void user_search_result_add_buddy_cb(PurpleConnection *gc, GList *row, void *user_data)
    +static void
    +user_search_result_add_buddy_cb(PurpleConnection *gc, GList *row,
    + G_GNUC_UNUSED gpointer user_data)
    {
    /* XXX find out the jid */
    purple_blist_request_add_buddy(purple_connection_get_account(gc),
    g_list_nth_data(row, 0), NULL, NULL);
    }
    -static void user_search_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +user_search_result_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleNotifySearchResults *results;
    PurpleNotifySearchColumn *column;
    @@ -2052,7 +2068,9 @@
    char *directory_server;
    };
    -static void user_search_cancel_cb(struct user_search_info *usi, PurpleRequestFields *fields)
    +static void
    +user_search_cancel_cb(struct user_search_info *usi,
    + G_GNUC_UNUSED PurpleRequestFields *fields)
    {
    g_free(usi->directory_server);
    g_free(usi);
    @@ -2090,9 +2108,11 @@
    g_free(usi);
    }
    -static void user_search_fields_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +user_search_fields_result_cb(JabberStream *js, const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query, *x;
    --- a/libpurple/protocols/jabber/caps.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/caps.c Mon Dec 12 23:41:40 2022 -0600
    @@ -111,7 +111,7 @@
    }
    static gboolean
    -do_jabber_caps_store(gpointer data)
    +do_jabber_caps_store(G_GNUC_UNUSED gpointer data)
    {
    char *str;
    int length = 0;
    @@ -249,8 +249,10 @@
    }
    static void
    -jabber_caps_client_iqcb(JabberStream *js, const char *from, JabberIqType type,
    - const char *id, PurpleXmlNode *packet, gpointer data)
    +jabber_caps_client_iqcb(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + gpointer data)
    {
    jabber_caps_cbplususerdata *userdata = data;
    PurpleXmlNode *query = NULL;
    --- a/libpurple/protocols/jabber/chat.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/chat.c Mon Dec 12 23:41:40 2022 -0600
    @@ -32,8 +32,8 @@
    #include "data.h"
    GList *
    -jabber_chat_info(PurpleProtocolChat *protocol_chat,
    - PurpleConnection *connection)
    +jabber_chat_info(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    + G_GNUC_UNUSED PurpleConnection *connection)
    {
    GList *m = NULL;
    PurpleProtocolChatEntry *pce;
    @@ -112,7 +112,7 @@
    }
    static gboolean
    -find_by_id_cb(gpointer key, gpointer value, gpointer user_data)
    +find_by_id_cb(G_GNUC_UNUSED gpointer key, gpointer value, gpointer user_data)
    {
    JabberChat *chat = value;
    @@ -194,7 +194,9 @@
    void jabber_chat_member_free(JabberChatMember *jcm);
    gchar *
    -jabber_get_chat_name(PurpleProtocolChat *protocol_chat, GHashTable *data) {
    +jabber_get_chat_name(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    + GHashTable *data)
    +{
    char *room, *server, *chat_name = NULL;
    room = g_hash_table_lookup(data, "room");
    @@ -212,9 +214,10 @@
    g_hash_table_insert(hash_table, g_strdup(key), g_strdup(value));
    }
    -static JabberChat *jabber_chat_new(JabberStream *js, const char *room,
    - const char *server, const char *handle,
    - const char *password, GHashTable *data)
    +static JabberChat *
    +jabber_chat_new(JabberStream *js, const char *room, const char *server,
    + const char *handle, G_GNUC_UNUSED const char *password,
    + GHashTable *data)
    {
    JabberChat *chat;
    char *jid;
    @@ -372,8 +375,8 @@
    }
    void
    -jabber_chat_leave(PurpleProtocolChat *protocol_chat, PurpleConnection *gc,
    - gint id)
    +jabber_chat_leave(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    + PurpleConnection *gc, gint id)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    JabberChat *chat = jabber_chat_find_by_id(js, id);
    @@ -417,7 +420,7 @@
    }
    gchar *
    -jabber_chat_user_real_name(PurpleProtocolChat *protocol_chat,
    +jabber_chat_user_real_name(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    PurpleConnection *gc, gint id, const gchar *who)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -455,9 +458,11 @@
    jabber_iq_send(iq);
    }
    -static void jabber_chat_room_configure_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_chat_room_configure_cb(JabberStream *js, const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query, *x;
    char *msg;
    @@ -569,9 +574,12 @@
    }
    static void
    -jabber_chat_register_x_data_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +jabber_chat_register_x_data_result_cb(JabberStream *js,
    + G_GNUC_UNUSED const char *from,
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    if (type == JABBER_IQ_ERROR) {
    char *msg = jabber_parse_error(js, packet, NULL);
    @@ -605,9 +613,10 @@
    jabber_iq_send(iq);
    }
    -static void jabber_chat_register_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_chat_register_cb(JabberStream *js, const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query, *x;
    char *msg;
    @@ -701,7 +710,7 @@
    }
    void
    -jabber_chat_set_topic(PurpleProtocolChat *protocol_chat,
    +jabber_chat_set_topic(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    PurpleConnection *gc, gint id, const gchar *topic)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -768,9 +777,10 @@
    g_free(room_jid);
    }
    -static void roomlist_disco_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +roomlist_disco_result_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query;
    PurpleXmlNode *item;
    @@ -826,7 +836,8 @@
    js->roomlist = NULL;
    }
    -static void roomlist_cancel_cb(JabberStream *js, const char *server) {
    +static void
    +roomlist_cancel_cb(JabberStream *js, G_GNUC_UNUSED const char *server) {
    if(js->roomlist) {
    purple_roomlist_set_in_progress(js->roomlist, FALSE);
    g_object_unref(js->roomlist);
    @@ -861,7 +872,7 @@
    }
    PurpleRoomlist *
    -jabber_roomlist_get_list(PurpleProtocolRoomlist *protocol_roomlist,
    +jabber_roomlist_get_list(G_GNUC_UNUSED PurpleProtocolRoomlist *protocol_roomlist,
    PurpleConnection *gc)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -884,7 +895,7 @@
    }
    void
    -jabber_roomlist_cancel(PurpleProtocolRoomlist *protocol_roomlist,
    +jabber_roomlist_cancel(G_GNUC_UNUSED PurpleProtocolRoomlist *protocol_roomlist,
    PurpleRoomlist *list)
    {
    PurpleAccount *account;
    @@ -904,7 +915,7 @@
    }
    char *
    -jabber_roomlist_room_serialize(PurpleProtocolRoomlist *protocol_roomlist,
    +jabber_roomlist_room_serialize(G_GNUC_UNUSED PurpleProtocolRoomlist *protocol_roomlist,
    PurpleRoomlistRoom *room)
    {
    const gchar *room_name = NULL, *server = NULL;
    @@ -922,8 +933,10 @@
    g_free(jcm);
    }
    -void jabber_chat_track_handle(JabberChat *chat, const char *handle,
    - const char *jid, const char *affiliation, const char *role)
    +void
    +jabber_chat_track_handle(JabberChat *chat, const char *handle, const char *jid,
    + G_GNUC_UNUSED const char *affiliation,
    + G_GNUC_UNUSED const char *role)
    {
    JabberChatMember *jcm = g_new0(JabberChatMember, 1);
    @@ -1011,8 +1024,10 @@
    }
    static void
    -jabber_chat_affiliation_list_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    +jabber_chat_affiliation_list_cb(JabberStream *js,
    + G_GNUC_UNUSED const char *from,
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    PurpleXmlNode *packet, gpointer data)
    {
    JabberChat *chat;
    @@ -1106,9 +1121,10 @@
    return TRUE;
    }
    -static void jabber_chat_role_list_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_chat_role_list_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, gpointer data)
    {
    JabberChat *chat;
    PurpleXmlNode *query, *item;
    @@ -1167,9 +1183,12 @@
    return TRUE;
    }
    -static void jabber_chat_disco_traffic_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_chat_disco_traffic_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    + gpointer data)
    {
    JabberChat *chat;
    int chat_id = GPOINTER_TO_INT(data);
    --- a/libpurple/protocols/jabber/data.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/data.c Mon Dec 12 23:41:40 2022 -0600
    @@ -38,8 +38,9 @@
    static GHashTable *remote_data_by_cid = NULL;
    JabberData *
    -jabber_data_create_from_data(gconstpointer rawdata, gsize size, const char *type,
    - gboolean ephemeral, JabberStream *js)
    +jabber_data_create_from_data(gconstpointer rawdata, gsize size,
    + const char *type, gboolean ephemeral,
    + G_GNUC_UNUSED JabberStream *js)
    {
    JabberData *data;
    gchar *checksum;
    @@ -285,8 +286,9 @@
    } JabberDataRequestData;
    static void
    -jabber_data_request_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id, PurpleXmlNode *packet, gpointer data)
    +jabber_data_request_cb(JabberStream *js, const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + gpointer data)
    {
    JabberDataRequestData *request_data = (JabberDataRequestData *) data;
    gpointer userdata = request_data->userdata;
    @@ -414,8 +416,9 @@
    /* Handles iq requests. */
    static void
    -jabber_data_parse(JabberStream *js, const char *who, JabberIqType type,
    - const char *id, PurpleXmlNode *data_node)
    +jabber_data_parse(JabberStream *js, const char *who,
    + G_GNUC_UNUSED JabberIqType type, const char *id,
    + PurpleXmlNode *data_node)
    {
    JabberIq *result = NULL;
    const char *cid = purple_xmlnode_get_attrib(data_node, "cid");
    --- a/libpurple/protocols/jabber/disco.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/disco.c Mon Dec 12 23:41:40 2022 -0600
    @@ -51,7 +51,8 @@
    static void
    jabber_disco_bytestream_server_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    PurpleXmlNode *packet, gpointer data)
    {
    JabberBytestreamsStreamhost *sh = data;
    @@ -168,9 +169,10 @@
    }
    }
    -static void jabber_disco_info_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_disco_info_cb(JabberStream *js, const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + gpointer data)
    {
    struct _jabber_disco_info_cb_data *jdicd = data;
    PurpleXmlNode *query;
    @@ -420,8 +422,10 @@
    static void
    jabber_disco_server_info_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query, *child;
    @@ -503,8 +507,10 @@
    static void
    jabber_disco_server_items_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query, *child;
    --- a/libpurple/protocols/jabber/ibb.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/ibb.c Mon Dec 12 23:41:40 2022 -0600
    @@ -199,9 +199,11 @@
    }
    static void
    -jabber_ibb_session_opened_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +jabber_ibb_session_opened_cb(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    + gpointer data)
    {
    JabberIBBSession *sess = (JabberIBBSession *) data;
    @@ -265,9 +267,12 @@
    }
    static void
    -jabber_ibb_session_send_acknowledge_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +jabber_ibb_session_send_acknowledge_cb(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from,
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    + gpointer data)
    {
    JabberIBBSession *sess = (JabberIBBSession *) data;
    @@ -360,8 +365,9 @@
    /* Handle incoming packet. */
    static void
    -jabber_ibb_parse(JabberStream *js, const char *who, JabberIqType type,
    - const char *id, PurpleXmlNode *child)
    +jabber_ibb_parse(JabberStream *js, const char *who,
    + G_GNUC_UNUSED JabberIqType type, const char *id,
    + PurpleXmlNode *child)
    {
    const char *name = child->name;
    gboolean data = purple_strequal(name, "data");
    --- a/libpurple/protocols/jabber/iq.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/iq.c Mon Dec 12 23:41:40 2022 -0600
    @@ -148,9 +148,9 @@
    g_free(iq);
    }
    -static void jabber_iq_last_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet)
    +static void
    +jabber_iq_last_parse(JabberStream *js, const char *from, JabberIqType type,
    + const char *id, G_GNUC_UNUSED PurpleXmlNode *packet)
    {
    JabberIq *iq;
    PurpleXmlNode *query;
    @@ -216,9 +216,9 @@
    }
    }
    -static void jabber_iq_version_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet)
    +static void
    +jabber_iq_version_parse(JabberStream *js, const char *from, JabberIqType type,
    + const char *id, G_GNUC_UNUSED PurpleXmlNode *packet)
    {
    JabberIq *iq;
    PurpleXmlNode *query;
    --- a/libpurple/protocols/jabber/jabber.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jabber.c Mon Dec 12 23:41:40 2022 -0600
    @@ -102,9 +102,10 @@
    }
    static void
    -jabber_session_initialized_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +jabber_session_initialized_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    if (type == JABBER_IQ_RESULT) {
    jabber_disco_items_server(js);
    @@ -128,9 +129,10 @@
    jabber_iq_send(iq);
    }
    -static void jabber_bind_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_bind_result_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *bind;
    @@ -403,8 +405,8 @@
    }
    static void
    -jabber_send_raw(PurpleProtocolServer *protocol_server, JabberStream *js,
    - const gchar *data, gint len)
    +jabber_send_raw(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    + JabberStream *js, const char *data, gint len)
    {
    PurpleConnection *gc;
    PurpleAccount *account;
    @@ -509,7 +511,7 @@
    }
    static gint
    -jabber_protocol_send_raw(PurpleProtocolServer *protocol_server,
    +jabber_protocol_send_raw(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, const gchar *buf, gint len)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -567,7 +569,9 @@
    }
    static void
    -jabber_keepalive(PurpleProtocolServer *protocol_server, PurpleConnection *gc) {
    +jabber_keepalive(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    + PurpleConnection *gc)
    +{
    JabberStream *js = purple_connection_get_protocol_data(gc);
    if (js->keepalive_timeout == 0) {
    @@ -578,7 +582,8 @@
    }
    static int
    -jabber_get_keepalive_interval(PurpleProtocolServer *protocol_server) {
    +jabber_get_keepalive_interval(G_GNUC_UNUSED PurpleProtocolServer *protocol_server)
    +{
    return PING_TIMEOUT;
    }
    @@ -671,7 +676,7 @@
    jabber_stream_set_state(js, JABBER_STREAM_INITIALIZING);
    source = g_pollable_input_stream_create_source(
    G_POLLABLE_INPUT_STREAM(js->input), js->cancellable);
    - g_source_set_callback(source, (GSourceFunc)jabber_recv_cb, js->gc, NULL);
    + g_source_set_callback(source, G_SOURCE_FUNC(jabber_recv_cb), js->gc, NULL);
    js->inpa = g_source_attach(source, NULL);
    g_source_unref(source);
    }
    @@ -1165,8 +1170,8 @@
    static void
    -jabber_idle_set(PurpleProtocolServer *protocol_server, PurpleConnection *gc,
    - gint idle)
    +jabber_idle_set(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    + PurpleConnection *gc, gint idle)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -1177,9 +1182,12 @@
    jabber_presence_send(js, FALSE);
    }
    -void jabber_blocklist_parse_push(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *child)
    +void
    +jabber_blocklist_parse_push(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from,
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *child)
    {
    #if 0
    JabberIq *result;
    @@ -1282,7 +1290,8 @@
    }
    #endif
    -void jabber_request_block_list(JabberStream *js)
    +void
    +jabber_request_block_list(G_GNUC_UNUSED JabberStream *js)
    {
    #if 0
    JabberIq *iq;
    @@ -1531,7 +1540,8 @@
    }
    static const char *
    -jabber_list_emblem(PurpleProtocolClient *client, PurpleBuddy *b) {
    +jabber_list_emblem(G_GNUC_UNUSED PurpleProtocolClient *client, PurpleBuddy *b)
    +{
    JabberStream *js;
    JabberBuddy *jb = NULL;
    PurpleConnection *gc = purple_account_get_connection(purple_buddy_get_account(b));
    @@ -1574,7 +1584,8 @@
    }
    static char *
    -jabber_status_text(PurpleProtocolClient *client, PurpleBuddy *b) {
    +jabber_status_text(G_GNUC_UNUSED PurpleProtocolClient *client, PurpleBuddy *b)
    +{
    char *ret = NULL;
    JabberBuddy *jb = NULL;
    PurpleAccount *account = purple_buddy_get_account(b);
    @@ -1767,7 +1778,7 @@
    static GList *
    jabber_status_types(G_GNUC_UNUSED PurpleProtocol *protocol,
    - PurpleAccount *account)
    + G_GNUC_UNUSED PurpleAccount *account)
    {
    PurpleStatusType *type;
    GList *types = NULL;
    @@ -1889,8 +1900,10 @@
    }
    static void
    -jabber_password_change_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    +jabber_password_change_result_cb(JabberStream *js,
    + G_GNUC_UNUSED const char *from,
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    PurpleXmlNode *packet, gpointer data)
    {
    if (type == JABBER_IQ_RESULT) {
    @@ -2000,13 +2013,14 @@
    }
    static const gchar *
    -xmpp_protocol_actions_get_prefix(PurpleProtocolActions *actions) {
    +xmpp_protocol_actions_get_prefix(G_GNUC_UNUSED PurpleProtocolActions *actions)
    +{
    return "prpl-xmpp";
    }
    static GActionGroup *
    -xmpp_protocol_actions_get_action_group(PurpleProtocolActions *actions,
    - PurpleConnection *connection)
    +xmpp_protocol_actions_get_action_group(G_GNUC_UNUSED PurpleProtocolActions *actions,
    + PurpleConnection *connection)
    {
    JabberStream *js = purple_connection_get_protocol_data(connection);
    GSimpleActionGroup *group = NULL;
    @@ -2047,7 +2061,7 @@
    }
    static GMenu *
    -xmpp_protocol_actions_get_menu(PurpleProtocolActions *actions) {
    +xmpp_protocol_actions_get_menu(G_GNUC_UNUSED PurpleProtocolActions *actions) {
    GMenu *menu = NULL;
    GMenuItem *item = NULL;
    @@ -2084,8 +2098,8 @@
    }
    static PurpleChat *
    -jabber_find_blist_chat(PurpleProtocolClient *client, PurpleAccount *account,
    - const char *name)
    +jabber_find_blist_chat(G_GNUC_UNUSED PurpleProtocolClient *client,
    + PurpleAccount *account, const char *name)
    {
    PurpleBlistNode *gnode, *cnode;
    JabberID *jid;
    @@ -2126,8 +2140,8 @@
    }
    static void
    -jabber_convo_closed(PurpleProtocolClient *client, PurpleConnection *gc,
    - const char *who)
    +jabber_convo_closed(G_GNUC_UNUSED PurpleProtocolClient *client,
    + PurpleConnection *gc, const char *who)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    JabberID *jid;
    @@ -2147,8 +2161,8 @@
    }
    static const gchar *
    -jabber_client_normalize(PurpleProtocolClient *client, PurpleAccount *account,
    - const gchar *who)
    +jabber_client_normalize(G_GNUC_UNUSED PurpleProtocolClient *client,
    + PurpleAccount *account, const char *who)
    {
    return jabber_normalize(account, who);
    }
    @@ -2323,8 +2337,10 @@
    }
    }
    -static PurpleCmdRet jabber_cmd_chat_config(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_config(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + G_GNUC_UNUSED char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2335,8 +2351,11 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_register(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_register(PurpleConversation *conv,
    + G_GNUC_UNUSED const char *cmd,
    + G_GNUC_UNUSED char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2347,8 +2366,10 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_topic(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_topic(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2376,8 +2397,9 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_nick(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_nick(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, char **error, G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2395,8 +2417,10 @@
    return PURPLE_CMD_RET_FAILED;
    }
    -static PurpleCmdRet jabber_cmd_chat_part(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_part(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2407,8 +2431,9 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_ban(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_ban(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, char **error, G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2423,8 +2448,10 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_affiliate(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_affiliate(PurpleConversation *conv,
    + G_GNUC_UNUSED const char *cmd, char **args,
    + char **error, G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2459,8 +2486,9 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_role(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_role(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, char **error, G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2494,8 +2522,10 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_invite(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_invite(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED gpointer data)
    {
    if(!args || !args[0])
    return PURPLE_CMD_RET_FAILED;
    @@ -2507,8 +2537,9 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_join(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_join(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, char **error, G_GNUC_UNUSED gpointer data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    GHashTable *components;
    @@ -2554,8 +2585,9 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_kick(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_kick(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, char **error, G_GNUC_UNUSED void *data)
    {
    JabberChat *chat = jabber_chat_find_by_conv(PURPLE_CHAT_CONVERSATION(conv));
    @@ -2570,8 +2602,10 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_chat_msg(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_chat_msg(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED void *data)
    {
    PurpleAccount *account = NULL;
    PurpleConnection *pc = NULL;
    @@ -2599,8 +2633,9 @@
    return PURPLE_CMD_RET_OK;
    }
    -static PurpleCmdRet jabber_cmd_ping(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +static PurpleCmdRet
    +jabber_cmd_ping(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, char **error, G_GNUC_UNUSED void *data)
    {
    PurpleAccount *account;
    PurpleConnection *pc;
    @@ -2620,12 +2655,15 @@
    }
    static gboolean
    -jabber_offline_message(PurpleProtocolClient *client, PurpleBuddy *buddy) {
    +jabber_offline_message(G_GNUC_UNUSED PurpleProtocolClient *client,
    + G_GNUC_UNUSED PurpleBuddy *buddy)
    +{
    return TRUE;
    }
    static gboolean
    -jabber_audio_enabled(JabberStream *js, const char *namespace)
    +jabber_audio_enabled(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *namespace)
    {
    PurpleMediaManager *manager = purple_media_manager_get();
    PurpleMediaCaps caps = purple_media_manager_get_ui_caps(manager);
    @@ -2634,7 +2672,8 @@
    }
    static gboolean
    -jabber_video_enabled(JabberStream *js, const char *namespace)
    +jabber_video_enabled(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *namespace)
    {
    PurpleMediaManager *manager = purple_media_manager_get();
    PurpleMediaCaps caps = purple_media_manager_get_ui_caps(manager);
    @@ -2652,7 +2691,7 @@
    static void
    jabber_media_cancel_cb(JabberMediaRequest *request,
    - PurpleRequestFields *fields)
    + G_GNUC_UNUSED PurpleRequestFields *fields)
    {
    g_free(request->who);
    g_free(request);
    @@ -2814,8 +2853,8 @@
    }
    static PurpleMediaCaps
    -jabber_get_media_caps(PurpleProtocolMedia *media, PurpleAccount *account,
    - const gchar *who)
    +jabber_get_media_caps(G_GNUC_UNUSED PurpleProtocolMedia *media,
    + PurpleAccount *account, const char *who)
    {
    PurpleConnection *gc = purple_account_get_connection(account);
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -2897,8 +2936,8 @@
    }
    static gboolean
    -jabber_can_receive_file(PurpleProtocolXfer *prplxfer, PurpleConnection *gc,
    - const char *who)
    +jabber_can_receive_file(G_GNUC_UNUSED PurpleProtocolXfer *prplxfer,
    + PurpleConnection *gc, const char *who)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    @@ -2947,8 +2986,9 @@
    }
    static PurpleCmdRet
    -jabber_cmd_mood(PurpleConversation *conv,
    - const char *cmd, char **args, char **error, void *data)
    +jabber_cmd_mood(PurpleConversation *conv, G_GNUC_UNUSED const char *cmd,
    + char **args, G_GNUC_UNUSED char **error,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleAccount *account = purple_conversation_get_account(conv);
    JabberStream *js = purple_connection_get_protocol_data(purple_account_get_connection(account));
    @@ -3103,7 +3143,8 @@
    static void cmds_free_func(gpointer value)
    {
    GSList *commands = value;
    - g_slist_free_full(commands, (GDestroyNotify)purple_cmd_unregister);
    + g_slist_free_full(commands,
    + (GDestroyNotify)(GCallback)purple_cmd_unregister);
    }
    static void jabber_unregister_commands(PurpleProtocol *protocol)
    @@ -3155,7 +3196,7 @@
    if (g_ascii_strcasecmp(proto, "xmpp"))
    return FALSE;
    - if (params != NULL) {
    + if (params != NULL) {
    acct_id = g_hash_table_lookup(params, "account");
    }
    @@ -3431,7 +3472,7 @@
    }
    static PurpleBuddyIconSpec *
    -jabber_protocol_get_buddy_icon_spec(PurpleProtocol *protocol) {
    +jabber_protocol_get_buddy_icon_spec(G_GNUC_UNUSED PurpleProtocol *protocol) {
    return purple_buddy_icon_spec_new("png",
    32, 32, 96, 96, 0,
    PURPLE_ICON_SCALE_SEND |
    @@ -3439,7 +3480,7 @@
    }
    static void
    -jabber_protocol_init(JabberProtocol *self) {
    +jabber_protocol_init(G_GNUC_UNUSED JabberProtocol *self) {
    }
    static void
    @@ -3507,7 +3548,7 @@
    }
    static GHashTable *
    -jabber_protocol_chat_info_defaults(PurpleProtocolChat *protocol_chat,
    +jabber_protocol_chat_info_defaults(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    PurpleConnection *connection,
    const gchar *name)
    {
    @@ -3515,14 +3556,14 @@
    }
    static void
    -jabber_protocol_chat_join(PurpleProtocolChat *protocol_chat,
    +jabber_protocol_chat_join(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    PurpleConnection *connection, GHashTable *components)
    {
    jabber_chat_join(connection, components);
    }
    static void
    -jabber_protocol_chat_invite(PurpleProtocolChat *protocol_chat,
    +jabber_protocol_chat_invite(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    PurpleConnection *connection, gint id,
    const gchar *message, const gchar *who)
    {
    @@ -3589,7 +3630,7 @@
    jabber_protocol_xfer_iface_init))
    static GPluginPluginInfo *
    -jabber_query(GError **error)
    +jabber_query(G_GNUC_UNUSED GError **error)
    {
    return purple_plugin_info_new(
    "id", "prpl-xmpp",
    @@ -3643,7 +3684,8 @@
    }
    static gboolean
    -jabber_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
    +jabber_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
    + G_GNUC_UNUSED gboolean shutdown, GError **error)
    {
    PurpleProtocolManager *manager = purple_protocol_manager_get_default();
    --- a/libpurple/protocols/jabber/jingle/content.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/content.c Mon Dec 12 23:41:40 2022 -0600
    @@ -213,7 +213,7 @@
    }
    static void
    -jingle_content_init (JingleContent *content)
    +jingle_content_init(G_GNUC_UNUSED JingleContent *content)
    {
    }
    @@ -238,7 +238,7 @@
    static void
    -jingle_content_class_finalize (JingleContentClass *klass)
    +jingle_content_class_finalize(G_GNUC_UNUSED JingleContentClass *klass)
    {
    }
    --- a/libpurple/protocols/jabber/jingle/iceudp.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/iceudp.c Mon Dec 12 23:41:40 2022 -0600
    @@ -362,7 +362,7 @@
    }
    static void
    -jingle_iceudp_init (JingleIceUdp *iceudp)
    +jingle_iceudp_init(G_GNUC_UNUSED JingleIceUdp *iceudp)
    {
    }
    @@ -386,7 +386,7 @@
    }
    static void
    -jingle_iceudp_class_finalize (JingleIceUdpClass *klass)
    +jingle_iceudp_class_finalize(G_GNUC_UNUSED JingleIceUdpClass *klass)
    {
    }
    --- a/libpurple/protocols/jabber/jingle/jingle.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/jingle.c Mon Dec 12 23:41:40 2022 -0600
    @@ -52,7 +52,8 @@
    }
    static void
    -jingle_handle_unknown_type(JingleSession *session, PurpleXmlNode *jingle)
    +jingle_handle_unknown_type(G_GNUC_UNUSED JingleSession *session,
    + G_GNUC_UNUSED PurpleXmlNode *jingle)
    {
    /* Send error */
    }
    @@ -366,7 +367,7 @@
    void
    jingle_parse(JabberStream *js, const char *from, JabberIqType type,
    - const char *id, PurpleXmlNode *jingle)
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *jingle)
    {
    const gchar *action;
    const gchar *sid;
    --- a/libpurple/protocols/jabber/jingle/rawudp.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/rawudp.c Mon Dec 12 23:41:40 2022 -0600
    @@ -275,7 +275,7 @@
    }
    static void
    -jingle_rawudp_init (JingleRawUdp *rawudp)
    +jingle_rawudp_init(G_GNUC_UNUSED JingleRawUdp *rawudp)
    {
    }
    @@ -289,7 +289,7 @@
    }
    static void
    -jingle_rawudp_class_finalize(JingleRawUdpClass *klass) {
    +jingle_rawudp_class_finalize(G_GNUC_UNUSED JingleRawUdpClass *klass) {
    }
    static void
    --- a/libpurple/protocols/jabber/jingle/rtp.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/rtp.c Mon Dec 12 23:41:40 2022 -0600
    @@ -132,8 +132,8 @@
    }
    static void
    -jingle_rtp_codecs_changed_cb(PurpleMedia *media, gchar *sid,
    - JingleSession *session)
    +jingle_rtp_codecs_changed_cb(G_GNUC_UNUSED PurpleMedia *media, char *sid,
    + JingleSession *session)
    {
    purple_debug_info("jingle-rtp", "jingle_rtp_codecs_changed_cb: "
    "session_id: %s jingle_session: %p\n", sid, session);
    @@ -141,7 +141,10 @@
    }
    static void
    -jingle_rtp_new_candidate_cb(PurpleMedia *media, gchar *sid, gchar *name, PurpleMediaCandidate *candidate, JingleSession *session)
    +jingle_rtp_new_candidate_cb(G_GNUC_UNUSED PurpleMedia *media, char *sid,
    + G_GNUC_UNUSED char *name,
    + PurpleMediaCandidate *candidate,
    + JingleSession *session)
    {
    JingleContent *content = jingle_session_find_content(session, sid, NULL);
    JingleTransport *transport;
    @@ -168,9 +171,10 @@
    }
    static void
    -jingle_rtp_initiate_ack_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +jingle_rtp_initiate_ack_cb(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + gpointer data)
    {
    JingleSession *session = data;
    @@ -182,8 +186,9 @@
    }
    static void
    -jingle_rtp_state_changed_cb(PurpleMedia *media, PurpleMediaState state,
    - gchar *sid, gchar *name, JingleSession *session)
    +jingle_rtp_state_changed_cb(G_GNUC_UNUSED PurpleMedia *media,
    + PurpleMediaState state, char *sid, char *name,
    + G_GNUC_UNUSED JingleSession *session)
    {
    purple_debug_info("jingle-rtp", "state-changed: state %d "
    "id: %s name: %s\n", state, sid ? sid : "(null)",
    @@ -192,8 +197,8 @@
    static void
    jingle_rtp_stream_info_cb(PurpleMedia *media, PurpleMediaInfoType type,
    - gchar *sid, gchar *name, gboolean local,
    - JingleSession *session)
    + char *sid, char *name, G_GNUC_UNUSED gboolean local,
    + JingleSession *session)
    {
    purple_debug_info("jingle-rtp", "stream-info: type %d "
    "id: %s name: %s\n", type, sid ? sid : "(null)",
    @@ -684,7 +689,7 @@
    * GObject Stuff
    *****************************************************************************/
    static void
    -jingle_rtp_init (JingleRtp *rtp)
    +jingle_rtp_init(G_GNUC_UNUSED JingleRtp *rtp)
    {
    }
    @@ -742,7 +747,7 @@
    static void
    -jingle_rtp_class_finalize(JingleRtpClass *klass) {
    +jingle_rtp_class_finalize(G_GNUC_UNUSED JingleRtpClass *klass) {
    }
    static void
    --- a/libpurple/protocols/jabber/jingle/session.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/session.c Mon Dec 12 23:41:40 2022 -0600
    @@ -75,8 +75,8 @@
    /******************************************************************************
    * Helpers
    *****************************************************************************/
    -static gboolean find_by_jid_ghr(gpointer key,
    - gpointer value, gpointer user_data)
    +static gboolean
    +find_by_jid_ghr(G_GNUC_UNUSED gpointer key, gpointer value, gpointer user_data)
    {
    JingleSession *session = (JingleSession *)value;
    const gchar *jid = user_data;
    @@ -222,7 +222,7 @@
    }
    static void
    -jingle_session_init (JingleSession *session)
    +jingle_session_init(G_GNUC_UNUSED JingleSession *session)
    {
    }
    @@ -245,7 +245,7 @@
    }
    static void
    -jingle_session_class_finalize (JingleSessionClass *klass)
    +jingle_session_class_finalize(G_GNUC_UNUSED JingleSessionClass *klass)
    {
    }
    --- a/libpurple/protocols/jabber/jingle/transport.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/jingle/transport.c Mon Dec 12 23:41:40 2022 -0600
    @@ -44,13 +44,18 @@
    }
    static void
    -jingle_transport_add_local_candidate_internal(JingleTransport *transport, const gchar *id, guint generation, PurpleMediaCandidate *candidate)
    +jingle_transport_add_local_candidate_internal(G_GNUC_UNUSED JingleTransport *transport,
    + G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED guint generation,
    + G_GNUC_UNUSED PurpleMediaCandidate *candidate)
    {
    /* Nothing to do */
    }
    static PurpleXmlNode *
    -jingle_transport_to_xml_internal(JingleTransport *transport, PurpleXmlNode *content, JingleActionType action)
    +jingle_transport_to_xml_internal(JingleTransport *transport,
    + PurpleXmlNode *content,
    + G_GNUC_UNUSED JingleActionType action)
    {
    PurpleXmlNode *node = purple_xmlnode_new_child(content, "transport");
    purple_xmlnode_set_namespace(node, jingle_transport_get_transport_type(transport));
    @@ -58,7 +63,7 @@
    }
    static GList *
    -jingle_transport_get_remote_candidates_internal(JingleTransport *transport)
    +jingle_transport_get_remote_candidates_internal(G_GNUC_UNUSED JingleTransport *transport)
    {
    return NULL;
    }
    @@ -67,12 +72,12 @@
    * GObject Stuff
    *****************************************************************************/
    static void
    -jingle_transport_init (JingleTransport *transport)
    +jingle_transport_init(G_GNUC_UNUSED JingleTransport *transport)
    {
    }
    static void
    -jingle_transport_class_finalize (JingleTransportClass *klass)
    +jingle_transport_class_finalize(G_GNUC_UNUSED JingleTransportClass *klass)
    {
    }
    --- a/libpurple/protocols/jabber/meson.build Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/meson.build Mon Dec 12 23:41:40 2022 -0600
    @@ -101,7 +101,9 @@
    c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-XMPP"'],
    link_args : jabber_link_args,
    dependencies : [gstreamer, idn, libxml, sasl, libpurple_dep, libsoup, glib, gio, math, ws2_32],
    - install : true, install_dir : PURPLE_PLUGINDIR)
    + install : true,
    + install_dir : PURPLE_PLUGINDIR,
    + override_options : ['c_std=c99', 'warning_level=2'])
    devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
    --- a/libpurple/protocols/jabber/message.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/message.c Mon Dec 12 23:41:40 2022 -0600
    @@ -687,7 +687,7 @@
    case JABBER_MESSAGE_OTHER:
    purple_debug_info("jabber",
    "Received message of unknown type: %s\n", type);
    - /* Fall-through is intentional */
    + G_GNUC_FALLTHROUGH;
    case JABBER_MESSAGE_NORMAL:
    case JABBER_MESSAGE_CHAT:
    handle_chat(jm);
    @@ -840,8 +840,9 @@
    return ret;
    }
    -int jabber_message_send_im(PurpleProtocolIM *pim, PurpleConnection *gc,
    - PurpleMessage *msg)
    +int
    +jabber_message_send_im(G_GNUC_UNUSED PurpleProtocolIM *pim,
    + PurpleConnection *gc, PurpleMessage *msg)
    {
    JabberMessage *jm;
    JabberBuddy *jb;
    @@ -903,7 +904,7 @@
    }
    gint
    -jabber_message_send_chat(PurpleProtocolChat *protocol_chat,
    +jabber_message_send_chat(G_GNUC_UNUSED PurpleProtocolChat *protocol_chat,
    PurpleConnection *gc, gint id, PurpleMessage *msg)
    {
    JabberChat *chat;
    @@ -943,8 +944,9 @@
    return 1;
    }
    -unsigned int jabber_send_typing(PurpleProtocolIM *pim, PurpleConnection *gc,
    - const char *who, PurpleIMTypingState state)
    +unsigned int
    +jabber_send_typing(G_GNUC_UNUSED PurpleProtocolIM *pim, PurpleConnection *gc,
    + const char *who, PurpleIMTypingState state)
    {
    JabberStream *js;
    JabberMessage *jm;
    --- a/libpurple/protocols/jabber/oob.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/oob.c Mon Dec 12 23:41:40 2022 -0600
    @@ -318,8 +318,7 @@
    }
    static void
    -jabber_oob_xfer_class_finalize(JabberOOBXferClass *klass) {
    -
    +jabber_oob_xfer_class_finalize(G_GNUC_UNUSED JabberOOBXferClass *klass) {
    }
    static void
    --- a/libpurple/protocols/jabber/parser.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/parser.c Mon Dec 12 23:41:40 2022 -0600
    @@ -31,9 +31,13 @@
    static void
    jabber_parser_element_start_libxml(void *user_data,
    - const xmlChar *element_name, const xmlChar *prefix, const xmlChar *namespace,
    - int nb_namespaces, const xmlChar **namespaces,
    - int nb_attributes, int nb_defaulted, const xmlChar **attributes)
    + const xmlChar *element_name,
    + const xmlChar *prefix,
    + const xmlChar *namespace, int nb_namespaces,
    + const xmlChar **namespaces,
    + int nb_attributes,
    + G_GNUC_UNUSED int nb_defaulted,
    + const xmlChar **attributes)
    {
    JabberStream *js = user_data;
    PurpleXmlNode *node;
    @@ -142,7 +146,8 @@
    static void
    jabber_parser_element_end_libxml(void *user_data, const xmlChar *element_name,
    - const xmlChar *prefix, const xmlChar *namespace)
    + G_GNUC_UNUSED const xmlChar *prefix,
    + G_GNUC_UNUSED const xmlChar *namespace)
    {
    JabberStream *js = user_data;
    --- a/libpurple/protocols/jabber/pep.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/pep.c Mon Dec 12 23:41:40 2022 -0600
    @@ -74,7 +74,8 @@
    static void
    do_pep_iq_request_item_callback(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    + JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    PurpleXmlNode *packet, gpointer data)
    {
    PurpleXmlNode *pubsub;
    @@ -115,7 +116,10 @@
    jabber_iq_send(iq);
    }
    -gboolean jabber_pep_namespace_only_when_pep_enabled_cb(JabberStream *js, const gchar *namespace) {
    +gboolean
    +jabber_pep_namespace_only_when_pep_enabled_cb(JabberStream *js,
    + G_GNUC_UNUSED const char *namespace)
    +{
    return js->pep;
    }
    --- a/libpurple/protocols/jabber/ping.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/ping.c Mon Dec 12 23:41:40 2022 -0600
    @@ -28,9 +28,12 @@
    #include "ping.h"
    #include "iq.h"
    -static void jabber_keepalive_pong_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_keepalive_pong_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    if (js->keepalive_timeout != 0) {
    g_source_remove(js->keepalive_timeout);
    @@ -39,8 +42,8 @@
    }
    void
    -jabber_ping_parse(JabberStream *js, const char *from,
    - JabberIqType type, const char *id, PurpleXmlNode *ping)
    +jabber_ping_parse(JabberStream *js, const char *from, JabberIqType type,
    + const char *id, G_GNUC_UNUSED PurpleXmlNode *ping)
    {
    if (type == JABBER_IQ_GET) {
    JabberIq *iq = jabber_iq_new(js, JABBER_IQ_RESULT);
    @@ -55,9 +58,12 @@
    }
    }
    -static void jabber_ping_result_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_ping_result_cb(G_GNUC_UNUSED JabberStream *js,
    + G_GNUC_UNUSED const char *from, JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + G_GNUC_UNUSED PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    if (type == JABBER_IQ_RESULT)
    purple_debug_info("jabber", "PONG!\n");
    --- a/libpurple/protocols/jabber/presence.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/presence.c Mon Dec 12 23:41:40 2022 -0600
    @@ -70,8 +70,9 @@
    return JABBER_PRESENCE_AVAILABLE;
    }
    -static void chats_send_presence_foreach(gpointer key, gpointer val,
    - gpointer user_data)
    +static void
    +chats_send_presence_foreach(G_GNUC_UNUSED gpointer key, gpointer val,
    + gpointer user_data)
    {
    JabberChat *chat = val;
    PurpleXmlNode *presence = user_data;
    @@ -143,7 +144,7 @@
    }
    void
    -jabber_set_status(PurpleProtocolServer *protocol_server,
    +jabber_set_status(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleAccount *account, PurpleStatus *status)
    {
    PurpleConnection *gc;
    @@ -367,7 +368,7 @@
    static void
    deny_add_cb(G_GNUC_UNUSED PurpleAuthorizationRequest *request,
    - const char *message, gpointer data)
    + G_GNUC_UNUSED const char *message, gpointer data)
    {
    struct _jabber_add_permit *jap = data;
    @@ -382,8 +383,9 @@
    static void
    jabber_vcard_parse_avatar(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer blah)
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id, PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    JabberBuddy *jb = NULL;
    PurpleXmlNode *vcard, *photo, *binval, *fn, *nick;
    @@ -1109,7 +1111,8 @@
    /* Incoming presence handlers */
    static void
    -parse_priority(JabberStream *js, JabberPresence *presence, PurpleXmlNode *priority)
    +parse_priority(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *priority)
    {
    char *p = purple_xmlnode_get_data(priority);
    @@ -1125,7 +1128,8 @@
    }
    static void
    -parse_show(JabberStream *js, JabberPresence *presence, PurpleXmlNode *show)
    +parse_show(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *show)
    {
    char *cdata;
    @@ -1145,7 +1149,8 @@
    }
    static void
    -parse_status(JabberStream *js, JabberPresence *presence, PurpleXmlNode *status)
    +parse_status(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *status)
    {
    /* TODO: Check/track language attribute? */
    @@ -1154,7 +1159,8 @@
    }
    static void
    -parse_delay(JabberStream *js, JabberPresence *presence, PurpleXmlNode *delay)
    +parse_delay(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *delay)
    {
    GTimeZone *tz = g_time_zone_new_utc();
    const char *stamp = purple_xmlnode_get_attrib(delay, "stamp");
    @@ -1166,7 +1172,8 @@
    }
    static void
    -parse_idle(JabberStream *js, JabberPresence *presence, PurpleXmlNode *query)
    +parse_idle(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *query)
    {
    const gchar *seconds = purple_xmlnode_get_attrib(query, "seconds");
    if (seconds) {
    @@ -1180,7 +1187,8 @@
    }
    static void
    -parse_caps(JabberStream *js, JabberPresence *presence, PurpleXmlNode *c)
    +parse_caps(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *c)
    {
    /* TODO: Move the rest of the caps handling in here, after changing the
    * the "do we have details about this (node, ver) and exts" to not
    @@ -1190,14 +1198,16 @@
    }
    static void
    -parse_nickname(JabberStream *js, JabberPresence *presence, PurpleXmlNode *nick)
    +parse_nickname(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *nick)
    {
    g_free(presence->nickname);
    presence->nickname = purple_xmlnode_get_data(nick);
    }
    static void
    -parse_vcard_avatar(JabberStream *js, JabberPresence *presence, PurpleXmlNode *x)
    +parse_vcard_avatar(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *x)
    {
    PurpleXmlNode *photo = purple_xmlnode_get_child(x, "photo");
    @@ -1210,7 +1220,8 @@
    }
    static void
    -parse_muc_user(JabberStream *js, JabberPresence *presence, PurpleXmlNode *x)
    +parse_muc_user(G_GNUC_UNUSED JabberStream *js, JabberPresence *presence,
    + PurpleXmlNode *x)
    {
    PurpleXmlNode *status;
    --- a/libpurple/protocols/jabber/roster.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/roster.c Mon Dec 12 23:41:40 2022 -0600
    @@ -45,9 +45,10 @@
    return g_string_free(out, FALSE);
    }
    -static void roster_request_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +roster_request_cb(JabberStream *js, const char *from, JabberIqType type,
    + const char *id, PurpleXmlNode *packet,
    + G_GNUC_UNUSED gpointer data)
    {
    PurpleXmlNode *query;
    @@ -336,9 +337,10 @@
    }
    void
    -jabber_roster_add_buddy(PurpleProtocolServer *protocol_server,
    +jabber_roster_add_buddy(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, PurpleBuddy *buddy,
    - PurpleGroup *group, const gchar *message)
    + G_GNUC_UNUSED PurpleGroup *group,
    + G_GNUC_UNUSED const char *message)
    {
    JabberStream *js = purple_connection_get_protocol_data(gc);
    char *who;
    @@ -402,7 +404,7 @@
    }
    void
    -jabber_roster_alias_change(PurpleProtocolServer *protocol_server,
    +jabber_roster_alias_change(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, const gchar *name,
    const gchar *alias)
    {
    @@ -419,7 +421,7 @@
    }
    void
    -jabber_roster_group_change(PurpleProtocolServer *protocol_server,
    +jabber_roster_group_change(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, const gchar *name,
    const gchar *old_group, const gchar *new_group)
    {
    @@ -458,7 +460,7 @@
    }
    void
    -jabber_roster_remove_buddy(PurpleProtocolServer *protocol_server,
    +jabber_roster_remove_buddy(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
    PurpleConnection *gc, PurpleBuddy *buddy,
    PurpleGroup *group)
    {
    --- a/libpurple/protocols/jabber/si.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/si.c Mon Dec 12 23:41:40 2022 -0600
    @@ -745,7 +745,7 @@
    }
    static void
    -jabber_si_xfer_bytestreams_send_connected_cb(GSocketService *service,
    +jabber_si_xfer_bytestreams_send_connected_cb(G_GNUC_UNUSED GSocketService *service,
    GSocketConnection *connection,
    GObject *source_object,
    G_GNUC_UNUSED gpointer data)
    @@ -771,7 +771,7 @@
    static void
    jabber_si_connect_proxy_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    + JabberIqType type, G_GNUC_UNUSED const char *id,
    PurpleXmlNode *packet, gpointer data)
    {
    PurpleXfer *xfer = data;
    @@ -1252,9 +1252,11 @@
    }
    }
    -static void jabber_si_xfer_send_method_cb(JabberStream *js, const char *from,
    - JabberIqType type, const char *id,
    - PurpleXmlNode *packet, gpointer data)
    +static void
    +jabber_si_xfer_send_method_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + G_GNUC_UNUSED JabberIqType type,
    + G_GNUC_UNUSED const char *id,
    + PurpleXmlNode *packet, gpointer data)
    {
    PurpleXfer *xfer = data;
    PurpleXmlNode *si, *feature, *x, *field, *value;
    @@ -1465,7 +1467,9 @@
    }
    }
    -static void resource_select_cancel_cb(PurpleXfer *xfer, PurpleRequestFields *fields)
    +static void
    +resource_select_cancel_cb(PurpleXfer *xfer,
    + G_GNUC_UNUSED PurpleRequestFields *fields)
    {
    purple_xfer_cancel_local(xfer);
    }
    @@ -1645,7 +1649,9 @@
    }
    }
    -PurpleXfer *jabber_si_new_xfer(PurpleProtocolXfer *prplxfer, PurpleConnection *gc, const char *who)
    +PurpleXfer *
    +jabber_si_new_xfer(G_GNUC_UNUSED PurpleProtocolXfer *prplxfer,
    + PurpleConnection *gc, const char *who)
    {
    JabberStream *js;
    JabberSIXfer *jsx;
    @@ -1696,8 +1702,9 @@
    #endif
    static void
    -jabber_si_parse(JabberStream *js, const char *from, JabberIqType type,
    - const char *id, PurpleXmlNode *si)
    +jabber_si_parse(JabberStream *js, const char *from,
    + G_GNUC_UNUSED JabberIqType type, const char *id,
    + PurpleXmlNode *si)
    {
    JabberSIXfer *jsx;
    PurpleXmlNode *file, *feature, *x, *field, *option, *value;
    @@ -1859,7 +1866,7 @@
    }
    static void
    -jabber_si_xfer_class_finalize(JabberSIXferClass *klass) {
    +jabber_si_xfer_class_finalize(G_GNUC_UNUSED JabberSIXferClass *klass) {
    }
    static void
    --- a/libpurple/protocols/jabber/tests/meson.build Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/tests/meson.build Mon Dec 12 23:41:40 2022 -0600
    @@ -2,7 +2,8 @@
    e = executable(
    f'test_jabber_@prog@', f'test_jabber_@prog@.c',
    link_with : [jabber_prpl],
    - dependencies : [libxml, libpurple_dep, libsoup, glib])
    + dependencies : [libxml, libpurple_dep, libsoup, glib],
    + override_options : ['c_std=c99', 'warning_level=2'])
    jabberenv = environment()
    jabberenv.set('XDG_CONFIG_DIR', meson.current_build_dir() / 'config')
    --- a/libpurple/protocols/jabber/useravatar.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/useravatar.c Mon Dec 12 23:41:40 2022 -0600
    @@ -170,7 +170,8 @@
    }
    static void
    -do_got_own_avatar_cb(JabberStream *js, const char *from, PurpleXmlNode *items)
    +do_got_own_avatar_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + PurpleXmlNode *items)
    {
    PurpleXmlNode *item = NULL, *metadata = NULL, *info = NULL;
    PurpleAccount *account = purple_connection_get_account(js->gc);
    --- a/libpurple/protocols/jabber/usermood.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/usermood.c Mon Dec 12 23:41:40 2022 -0600
    @@ -30,92 +30,92 @@
    #include <string.h>
    static PurpleMood moods[] = {
    - {"afraid", N_("Afraid"), },
    - {"amazed", N_("Amazed"), },
    - {"amorous", N_("Amorous"), },
    - {"angry", N_("Angry"), },
    - {"annoyed", N_("Annoyed"), },
    - {"anxious", N_("Anxious"), },
    - {"aroused", N_("Aroused"), },
    - {"ashamed", N_("Ashamed"), },
    - {"bored", N_("Bored"), },
    - {"brave", N_("Brave"), },
    - {"calm", N_("Calm"), },
    - {"cautious", N_("Cautious"), },
    - {"cold", N_("Cold"), },
    - {"confident", N_("Confident"), },
    - {"confused", N_("Confused"), },
    - {"contemplative", N_("Contemplative"), },
    - {"contented", N_("Contented"), },
    - {"cranky", N_("Cranky"), },
    - {"crazy", N_("Crazy"), },
    - {"creative", N_("Creative"), },
    - {"curious", N_("Curious"), },
    - {"dejected", N_("Dejected"), },
    - {"depressed", N_("Depressed"), },
    - {"disappointed", N_("Disappointed"), },
    - {"disgusted", N_("Disgusted"), },
    - {"dismayed", N_("Dismayed"), },
    - {"distracted", N_("Distracted"), },
    - {"embarrassed", N_("Embarrassed"), },
    - {"envious", N_("Envious"), },
    - {"excited", N_("Excited"), },
    - {"flirtatious", N_("Flirtatious"), },
    - {"frustrated", N_("Frustrated"), },
    - {"grateful", N_("Grateful"), },
    - {"grieving", N_("Grieving"), },
    - {"grumpy", N_("Grumpy"), },
    - {"guilty", N_("Guilty"), },
    - {"happy", N_("Happy"), },
    - {"hopeful", N_("Hopeful"), },
    - {"hot", N_("Hot"), },
    - {"humbled", N_("Humbled"), },
    - {"humiliated", N_("Humiliated"), },
    - {"hungry", N_("Hungry"), },
    - {"hurt", N_("Hurt"), },
    - {"impressed", N_("Impressed"), },
    - {"in_awe", N_("In awe"), },
    - {"in_love", N_("In love"), },
    - {"indignant", N_("Indignant"), },
    - {"interested", N_("Interested"), },
    - {"intoxicated", N_("Intoxicated"), },
    - {"invincible", N_("Invincible"), },
    - {"jealous", N_("Jealous"), },
    - {"lonely", N_("Lonely"), },
    - {"lost", N_("Lost"), },
    - {"lucky", N_("Lucky"), },
    - {"mean", N_("Mean"), },
    - {"moody", N_("Moody"), },
    - {"nervous", N_("Nervous"), },
    - {"neutral", N_("Neutral"), },
    - {"offended", N_("Offended"), },
    - {"outraged", N_("Outraged"), },
    - {"playful", N_("Playful"), },
    - {"proud", N_("Proud"), },
    - {"relaxed", N_("Relaxed"), },
    - {"relieved", N_("Relieved"), },
    - {"remorseful", N_("Remorseful"), },
    - {"restless", N_("Restless"), },
    - {"sad", N_("Sad"), },
    - {"sarcastic", N_("Sarcastic"), },
    - {"satisfied", N_("Satisfied"), },
    - {"serious", N_("Serious"), },
    - {"shocked", N_("Shocked"), },
    - {"shy", N_("Shy"), },
    - {"sick", N_("Sick"), },
    - {"sleepy", N_("Sleepy"), },
    - {"spontaneous", N_("Spontaneous"), },
    - {"stressed", N_("Stressed"), },
    - {"strong", N_("Strong"), },
    - {"surprised", N_("Surprised"), },
    - {"thankful", N_("Thankful"), },
    - {"thirsty", N_("Thirsty"), },
    - {"tired", N_("Tired"), },
    - {"undefined", N_("Undefined"), },
    - {"weak", N_("Weak"), },
    - {"worried", N_("Worried"), },
    + { .mood = "afraid", .description = N_("Afraid"), },
    + { .mood = "amazed", .description = N_("Amazed"), },
    + { .mood = "amorous", .description = N_("Amorous"), },
    + { .mood = "angry", .description = N_("Angry"), },
    + { .mood = "annoyed", .description = N_("Annoyed"), },
    + { .mood = "anxious", .description = N_("Anxious"), },
    + { .mood = "aroused", .description = N_("Aroused"), },
    + { .mood = "ashamed", .description = N_("Ashamed"), },
    + { .mood = "bored", .description = N_("Bored"), },
    + { .mood = "brave", .description = N_("Brave"), },
    + { .mood = "calm", .description = N_("Calm"), },
    + { .mood = "cautious", .description = N_("Cautious"), },
    + { .mood = "cold", .description = N_("Cold"), },
    + { .mood = "confident", .description = N_("Confident"), },
    + { .mood = "confused", .description = N_("Confused"), },
    + { .mood = "contemplative", .description = N_("Contemplative"), },
    + { .mood = "contented", .description = N_("Contented"), },
    + { .mood = "cranky", .description = N_("Cranky"), },
    + { .mood = "crazy", .description = N_("Crazy"), },
    + { .mood = "creative", .description = N_("Creative"), },
    + { .mood = "curious", .description = N_("Curious"), },
    + { .mood = "dejected", .description = N_("Dejected"), },
    + { .mood = "depressed", .description = N_("Depressed"), },
    + { .mood = "disappointed", .description = N_("Disappointed"), },
    + { .mood = "disgusted", .description = N_("Disgusted"), },
    + { .mood = "dismayed", .description = N_("Dismayed"), },
    + { .mood = "distracted", .description = N_("Distracted"), },
    + { .mood = "embarrassed", .description = N_("Embarrassed"), },
    + { .mood = "envious", .description = N_("Envious"), },
    + { .mood = "excited", .description = N_("Excited"), },
    + { .mood = "flirtatious", .description = N_("Flirtatious"), },
    + { .mood = "frustrated", .description = N_("Frustrated"), },
    + { .mood = "grateful", .description = N_("Grateful"), },
    + { .mood = "grieving", .description = N_("Grieving"), },
    + { .mood = "grumpy", .description = N_("Grumpy"), },
    + { .mood = "guilty", .description = N_("Guilty"), },
    + { .mood = "happy", .description = N_("Happy"), },
    + { .mood = "hopeful", .description = N_("Hopeful"), },
    + { .mood = "hot", .description = N_("Hot"), },
    + { .mood = "humbled", .description = N_("Humbled"), },
    + { .mood = "humiliated", .description = N_("Humiliated"), },
    + { .mood = "hungry", .description = N_("Hungry"), },
    + { .mood = "hurt", .description = N_("Hurt"), },
    + { .mood = "impressed", .description = N_("Impressed"), },
    + { .mood = "in_awe", .description = N_("In awe"), },
    + { .mood = "in_love", .description = N_("In love"), },
    + { .mood = "indignant", .description = N_("Indignant"), },
    + { .mood = "interested", .description = N_("Interested"), },
    + { .mood = "intoxicated", .description = N_("Intoxicated"), },
    + { .mood = "invincible", .description = N_("Invincible"), },
    + { .mood = "jealous", .description = N_("Jealous"), },
    + { .mood = "lonely", .description = N_("Lonely"), },
    + { .mood = "lost", .description = N_("Lost"), },
    + { .mood = "lucky", .description = N_("Lucky"), },
    + { .mood = "mean", .description = N_("Mean"), },
    + { .mood = "moody", .description = N_("Moody"), },
    + { .mood = "nervous", .description = N_("Nervous"), },
    + { .mood = "neutral", .description = N_("Neutral"), },
    + { .mood = "offended", .description = N_("Offended"), },
    + { .mood = "outraged", .description = N_("Outraged"), },
    + { .mood = "playful", .description = N_("Playful"), },
    + { .mood = "proud", .description = N_("Proud"), },
    + { .mood = "relaxed", .description = N_("Relaxed"), },
    + { .mood = "relieved", .description = N_("Relieved"), },
    + { .mood = "remorseful", .description = N_("Remorseful"), },
    + { .mood = "restless", .description = N_("Restless"), },
    + { .mood = "sad", .description = N_("Sad"), },
    + { .mood = "sarcastic", .description = N_("Sarcastic"), },
    + { .mood = "satisfied", .description = N_("Satisfied"), },
    + { .mood = "serious", .description = N_("Serious"), },
    + { .mood = "shocked", .description = N_("Shocked"), },
    + { .mood = "shy", .description = N_("Shy"), },
    + { .mood = "sick", .description = N_("Sick"), },
    + { .mood = "sleepy", .description = N_("Sleepy"), },
    + { .mood = "spontaneous", .description = N_("Spontaneous"), },
    + { .mood = "stressed", .description = N_("Stressed"), },
    + { .mood = "strong", .description = N_("Strong"), },
    + { .mood = "surprised", .description = N_("Surprised"), },
    + { .mood = "thankful", .description = N_("Thankful"), },
    + { .mood = "thirsty", .description = N_("Thirsty"), },
    + { .mood = "tired", .description = N_("Tired"), },
    + { .mood = "undefined", .description = N_("Undefined"), },
    + { .mood = "weak", .description = N_("Weak"), },
    + { .mood = "worried", .description = N_("Worried"), },
    /* Mark last record. */
    - {NULL, }
    + { .mood = NULL, .description = NULL, }
    };
    static const PurpleMood*
    @@ -219,6 +219,8 @@
    }
    PurpleMood *
    -jabber_get_moods(PurpleProtocolClient *client, PurpleAccount *account) {
    +jabber_get_moods(G_GNUC_UNUSED PurpleProtocolClient *client,
    + G_GNUC_UNUSED PurpleAccount *account)
    +{
    return moods;
    }
    --- a/libpurple/protocols/jabber/usernick.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/usernick.c Mon Dec 12 23:41:40 2022 -0600
    @@ -64,7 +64,10 @@
    (yay for well-defined memory management rules) */
    }
    -static void do_nick_got_own_nick_cb(JabberStream *js, const char *from, PurpleXmlNode *items) {
    +static void
    +do_nick_got_own_nick_cb(JabberStream *js, G_GNUC_UNUSED const char *from,
    + PurpleXmlNode *items)
    +{
    char *oldnickname = NULL;
    PurpleXmlNode *item = NULL;
    --- a/libpurple/protocols/jabber/xdata.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/xdata.c Mon Dec 12 23:41:40 2022 -0600
    @@ -40,7 +40,7 @@
    struct jabber_x_data_data {
    GHashTable *fields;
    GSList *values;
    - jabber_x_data_action_cb cb;
    + GCallback cb;
    gpointer user_data;
    JabberStream *js;
    GList *actions;
    @@ -49,7 +49,7 @@
    static void jabber_x_data_ok_cb(struct jabber_x_data_data *data, PurpleRequestFields *fields) {
    PurpleXmlNode *result = purple_xmlnode_new("x");
    - jabber_x_data_action_cb cb = data->cb;
    + GCallback cb = data->cb;
    gpointer user_data = data->user_data;
    JabberStream *js = data->js;
    GList *groups, *flds;
    @@ -146,17 +146,21 @@
    g_list_free_full(data->actions, g_free);
    g_free(data);
    - if (hasActions)
    - cb(js, result, actionhandle, user_data);
    - else
    + if(hasActions) {
    + ((jabber_x_data_action_cb)cb)(js, result, actionhandle, user_data);
    + } else {
    ((jabber_x_data_cb)cb)(js, result, user_data);
    + }
    g_free(actionhandle);
    }
    -static void jabber_x_data_cancel_cb(struct jabber_x_data_data *data, PurpleRequestFields *fields) {
    +static void
    +jabber_x_data_cancel_cb(struct jabber_x_data_data *data,
    + G_GNUC_UNUSED PurpleRequestFields *fields)
    +{
    PurpleXmlNode *result = purple_xmlnode_new("x");
    - jabber_x_data_action_cb cb = data->cb;
    + GCallback cb = data->cb;
    gpointer user_data = data->user_data;
    JabberStream *js = data->js;
    gboolean hasActions = (data->actions != NULL);
    @@ -168,15 +172,18 @@
    purple_xmlnode_set_namespace(result, "jabber:x:data");
    purple_xmlnode_set_attrib(result, "type", "cancel");
    - if (hasActions)
    - cb(js, result, NULL, user_data);
    - else
    + if(hasActions) {
    + ((jabber_x_data_action_cb)cb)(js, result, NULL, user_data);
    + } else {
    ((jabber_x_data_cb)cb)(js, result, user_data);
    + }
    }
    void *jabber_x_data_request(JabberStream *js, PurpleXmlNode *packet, jabber_x_data_cb cb, gpointer user_data)
    {
    - return jabber_x_data_request_with_actions(js, packet, NULL, 0, (jabber_x_data_action_cb)cb, user_data);
    + return jabber_x_data_request_with_actions(js, packet, NULL, 0,
    + (jabber_x_data_action_cb)(GCallback)cb,
    + user_data);
    }
    void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet, GList *actions, int defaultaction, jabber_x_data_action_cb cb, gpointer user_data)
    @@ -194,7 +201,7 @@
    data->fields = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
    data->user_data = user_data;
    - data->cb = cb;
    + data->cb = G_CALLBACK(cb);
    data->js = js;
    fields = purple_request_fields_new();
    --- a/libpurple/protocols/jabber/xmpp.c Mon Dec 12 23:38:47 2022 -0600
    +++ b/libpurple/protocols/jabber/xmpp.c Mon Dec 12 23:41:40 2022 -0600
    @@ -33,7 +33,7 @@
    };
    static GList *
    -xmpp_protocol_get_account_options(PurpleProtocol *protocol) {
    +xmpp_protocol_get_account_options(G_GNUC_UNUSED PurpleProtocol *protocol) {
    PurpleAccountOption *option;
    PurpleKeyValuePair *kvp = NULL;
    GList *opts = NULL, *encryption_values = NULL;
    @@ -78,7 +78,7 @@
    }
    static GList *
    -xmpp_protocol_get_user_splits(PurpleProtocol *protocol) {
    +xmpp_protocol_get_user_splits(G_GNUC_UNUSED PurpleProtocol *protocol) {
    GList *splits = NULL;
    PurpleAccountUserSplit *split;
    @@ -97,7 +97,7 @@
    }
    static void
    -xmpp_protocol_init(XMPPProtocol *self) {
    +xmpp_protocol_init(G_GNUC_UNUSED XMPPProtocol *self) {
    purple_prefs_remove("/plugins/prpl/jabber");
    }