use-gslice.diff
changeset 92 66f7e2aa040c
parent 87 78238d26911a
--- a/use-gslice.diff	Fri Mar 04 15:57:04 2016 +0200
+++ b/use-gslice.diff	Fri Dec 09 02:12:34 2016 +0200
@@ -1,11 +1,12 @@
 # HG changeset patch
 # Parent c45500769f0c34734851c9079e57add63d083c25
+# Parent  a18571d686cd4eddcb55e356a8b82c0ac3990f49
 Use glib slices to allocate constant-size blocks
 
-diff -r c45500769f0c mcabber/mcabber/caps.c
---- a/mcabber/mcabber/caps.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/caps.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -52,7 +52,7 @@
+diff -r a18571d686cd mcabber/mcabber/caps.c
+--- a/mcabber/mcabber/caps.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/caps.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -50,7 +50,7 @@
    g_hash_table_destroy(c->identities);
    g_hash_table_destroy(c->features);
    g_hash_table_destroy(c->forms);
@@ -14,7 +15,7 @@
  }
  
  void identity_destroy(gpointer data)
-@@ -61,14 +61,14 @@
+@@ -59,14 +59,14 @@
    g_free(i->category);
    g_free(i->type);
    g_free(i->name);
@@ -31,7 +32,7 @@
  }
  
  void field_destroy(gpointer data)
-@@ -97,7 +97,7 @@
+@@ -95,7 +95,7 @@
  {
    if (!hash)
      return;
@@ -40,7 +41,7 @@
    c->features = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
    c->identities = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, identity_destroy);
    c->forms = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, form_destroy);
-@@ -158,7 +158,7 @@
+@@ -156,7 +156,7 @@
  
    c = g_hash_table_lookup(caps_cache, hash);
    if (c) {
@@ -49,7 +50,7 @@
  
      i->category = g_strdup(category);
      i->name = g_strdup(name);
-@@ -182,7 +182,7 @@
+@@ -180,7 +180,7 @@
      return;
    c = g_hash_table_lookup(caps_cache, hash);
    if (c) {
@@ -58,10 +59,10 @@
      char *f = g_strdup(formtype);
  
      d->fields = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, field_destroy);
-diff -r c45500769f0c mcabber/mcabber/commands.c
---- a/mcabber/mcabber/commands.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/commands.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -115,7 +115,7 @@
+diff -r a18571d686cd mcabber/mcabber/commands.c
+--- a/mcabber/mcabber/commands.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/commands.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -113,7 +113,7 @@
        gpointer userdata = command->userdata;
        Commands = g_slist_delete_link(Commands, sl_cmd);
        compl_del_category_word(COMPL_CMD, command->name);
@@ -70,7 +71,7 @@
        return userdata;
      }
    return NULL;
-@@ -127,7 +127,7 @@
+@@ -125,7 +125,7 @@
  gpointer cmd_add(const char *name, const char *help, guint flags_row1,
                   guint flags_row2, void (*f)(char*), gpointer userdata)
  {
@@ -115,7 +116,7 @@
    return msgbuf_utf8;
  }
  
-@@ -1906,7 +1906,7 @@
+@@ -1921,7 +1921,7 @@
    esub   = buddy_getsubscription(bud);
    on_srv = buddy_getonserverflag(bud);
  
@@ -124,7 +125,7 @@
  
    if (bjid) {
      GSList *resources, *p_res;
-@@ -2005,7 +2005,7 @@
+@@ -2020,7 +2020,7 @@
                   type == ROSTER_TYPE_GROUP ? "group" :
                   (type == ROSTER_TYPE_SPECIAL ? "special" : "unknown"));
    }
@@ -133,7 +134,7 @@
  
    // Tell the user if this item has an annotation.
    if (type == ROSTER_TYPE_USER ||
-@@ -2054,7 +2054,7 @@
+@@ -2069,7 +2069,7 @@
  
    bjid = buddy_getjid(bud);
  
@@ -142,7 +143,7 @@
    strncpy(buffer, "Room members:", 127);
    scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0);
  
-@@ -2114,7 +2114,7 @@
+@@ -2129,7 +2129,7 @@
    scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0);
  
    g_slist_free(resources);
@@ -151,7 +152,7 @@
  }
  
  static void move_group_member(gpointer bud, void *groupnamedata)
-@@ -3137,7 +3137,7 @@
+@@ -3163,7 +3163,7 @@
    affil = buddy_getaffil(bud, nick);
    realjid = buddy_getrjid(bud, nick);
  
@@ -160,7 +161,7 @@
  
    snprintf(buffer, 4095, "Whois [%s]", nick);
    scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag, 0);
-@@ -3167,7 +3167,7 @@
+@@ -3193,7 +3193,7 @@
  
    scr_WriteIncomingMessage(bjid, "End of WHOIS", 0, msg_flag, 0);
  
@@ -169,10 +170,10 @@
    g_free(nick);
    if (paramlst)
      free_arg_lst(paramlst);
-diff -r c45500769f0c mcabber/mcabber/events.c
---- a/mcabber/mcabber/events.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/events.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -83,7 +83,7 @@
+diff -r a18571d686cd mcabber/mcabber/events.c
+--- a/mcabber/mcabber/events.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/events.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -81,7 +81,7 @@
      return NULL;
    }
  
@@ -199,10 +200,10 @@
    }
    g_slist_free(evs_list);
    evs_list = NULL;
-diff -r c45500769f0c mcabber/mcabber/hbuf.c
---- a/mcabber/mcabber/hbuf.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/hbuf.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -29,7 +29,6 @@
+diff -r a18571d686cd mcabber/mcabber/hbuf.c
+--- a/mcabber/mcabber/hbuf.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/hbuf.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -27,7 +27,6 @@
  #include "utf8.h"
  #include "screen.h"
  
@@ -210,7 +211,7 @@
  /* This is a private structure type */
  
  typedef struct {
-@@ -59,7 +58,7 @@
+@@ -57,7 +56,7 @@
  {
    GList *curr_elt = first_hbuf_elt;
  
@@ -219,7 +220,7 @@
    // - If there are '\n' in the string
    // - If length > width (and width != 0)
    while (curr_elt) {
-@@ -95,17 +94,21 @@
+@@ -93,17 +92,21 @@
        end = hbuf_b_curr->ptr_end;
        hbuf_b_curr->ptr_end = br;
        // Create another block
@@ -244,7 +245,7 @@
        // This is OK because insert_before(NULL) == append():
        *p_hbuf = g_list_insert_before(*p_hbuf, curr_elt->next, hbuf_b_curr);
      }
-@@ -138,7 +141,7 @@
+@@ -136,7 +139,7 @@
    textlen = strlen(text);
    hbb_blocksize = MAX(textlen+1, HBB_BLOCKSIZE);
  
@@ -253,7 +254,7 @@
    hbuf_block_elt->prefix.timestamp  = timestamp;
    hbuf_block_elt->prefix.flags      = prefix_flags;
    hbuf_block_elt->prefix.mucnicklen = mucnicklen;
-@@ -146,7 +149,7 @@
+@@ -144,7 +147,7 @@
    if (!*p_hbuf) {
      hbuf_block_elt->ptr  = g_new(char, hbb_blocksize);
      if (!hbuf_block_elt->ptr) {
@@ -262,7 +263,7 @@
        return;
      }
      hbuf_block_elt->flags  = HBB_FLAG_ALLOC | HBB_FLAG_PERSISTENT;
-@@ -208,7 +211,7 @@
+@@ -206,7 +209,7 @@
                  g_free(hbuf_b_elt->ptr);
                }
              }
@@ -271,7 +272,7 @@
              hbuf_head = *p_hbuf = g_list_delete_link(hbuf_head, hbuf_elt);
            }
            n--;
-@@ -245,7 +248,7 @@
+@@ -243,7 +246,7 @@
      if (hbuf_b_elt->flags & HBB_FLAG_ALLOC) {
        g_free(hbuf_b_elt->ptr);
      }
@@ -280,7 +281,7 @@
    }
  
    g_list_free(first_elt);
-@@ -275,7 +278,7 @@
+@@ -273,7 +276,7 @@
      // Is next line not-persistent?
      if (!(hbuf_b_next->flags & HBB_FLAG_PERSISTENT)) {
        hbuf_b_curr->ptr_end = hbuf_b_next->ptr_end;
@@ -289,7 +290,7 @@
        curr_elt = g_list_delete_link(curr_elt, next_elt);
      } else
        curr_elt = next_elt;
-@@ -309,8 +312,8 @@
+@@ -307,8 +310,8 @@
  //  hbuf_get_lines(hbuf, n)
  // Returns an array of n hbb_line pointers
  // (The first line will be the line currently pointed by hbuf)
@@ -300,7 +301,7 @@
  hbb_line **hbuf_get_lines(GList *hbuf, unsigned int n)
  {
    unsigned int i;
-@@ -349,7 +352,7 @@
+@@ -347,7 +350,7 @@
  
        blk = (hbuf_block*)(hbuf->data);
        maxlen = blk->ptr_end - blk->ptr;
@@ -309,9 +310,9 @@
        (*array_elt)->timestamp  = blk->prefix.timestamp;
        (*array_elt)->flags      = blk->prefix.flags;
        (*array_elt)->mucnicklen = blk->prefix.mucnicklen;
-diff -r c45500769f0c mcabber/mcabber/hooks.c
---- a/mcabber/mcabber/hooks.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/hooks.c	Wed Nov 12 03:30:06 2014 +0200
+diff -r a18571d686cd mcabber/mcabber/hooks.c
+--- a/mcabber/mcabber/hooks.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/hooks.c	Fri Dec 09 01:48:31 2016 +0200
 @@ -99,7 +99,7 @@
                       gint priority, gpointer userdata)
  {
@@ -330,10 +331,10 @@
      *hqueue = g_slist_delete_link(*hqueue, el);
      // Remove hook hash table entry if the hook queue is empty
      if (!*hqueue)
-diff -r c45500769f0c mcabber/mcabber/modules.c
---- a/mcabber/mcabber/modules.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/modules.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -176,7 +176,7 @@
+diff -r a18571d686cd mcabber/mcabber/modules.c
+--- a/mcabber/mcabber/modules.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/modules.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -174,7 +174,7 @@
    }
  
    { // Register module
@@ -342,7 +343,7 @@
  
      module->refcount     = 1;
      module->locked       = manual;
-@@ -267,7 +267,7 @@
+@@ -265,7 +265,7 @@
    // Output this here, as arg may point to module->name
    scr_LogPrint(LPRINT_LOGNORM, "Unloaded module %s.", module->name);
    g_free(module->name);
@@ -351,10 +352,10 @@
  
    return NULL;
  }
-diff -r c45500769f0c mcabber/mcabber/screen.c
---- a/mcabber/mcabber/screen.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/screen.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -1360,7 +1360,7 @@
+diff -r a18571d686cd mcabber/mcabber/screen.c
+--- a/mcabber/mcabber/screen.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/screen.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -1368,7 +1368,7 @@
          wattrset(win_entry->win, get_color(COLOR_GENERAL));
  
        g_free(line->text);
@@ -363,7 +364,7 @@
      } else {
        wclrtobot(win_entry->win);
        break;
-@@ -1374,7 +1374,7 @@
+@@ -1382,7 +1382,7 @@
        scr_buffer_scroll_lock(1);
      }
      g_free(line->text);
@@ -372,10 +373,10 @@
    } else if (autolock && win_entry->bd->lock) {
      scr_buffer_scroll_lock(0);
    }
-diff -r c45500769f0c mcabber/mcabber/settings.c
---- a/mcabber/mcabber/settings.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/settings.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -457,7 +457,7 @@
+diff -r a18571d686cd mcabber/mcabber/settings.c
+--- a/mcabber/mcabber/settings.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/settings.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -528,7 +528,7 @@
      // If value is 0, we do not need to create a structure (that's
      // the default value).
      if (value) {
@@ -384,7 +385,7 @@
        pgpdata->pgp_disabled = value;
        g_hash_table_insert(pgpopt, g_strdup(bjid), pgpdata);
      }
-@@ -497,7 +497,7 @@
+@@ -568,7 +568,7 @@
      // If value is 0, we do not need to create a structure (that's
      // the default value).
      if (value) {
@@ -393,7 +394,7 @@
        pgpdata->pgp_force = value;
        g_hash_table_insert(pgpopt, g_strdup(bjid), pgpdata);
      }
-@@ -537,7 +537,7 @@
+@@ -608,7 +608,7 @@
      // If keyid is NULL, we do not need to create a structure (that's
      // the default value).
      if (keyid) {
@@ -402,10 +403,10 @@
        pgpdata->pgp_keyid = g_strdup(keyid);
        g_hash_table_insert(pgpopt, g_strdup(bjid), pgpdata);
      }
-diff -r c45500769f0c mcabber/mcabber/xmpp_iq.c
---- a/mcabber/mcabber/xmpp_iq.c	Wed Nov 12 02:43:42 2014 +0200
-+++ b/mcabber/mcabber/xmpp_iq.c	Wed Nov 12 03:30:06 2014 +0200
-@@ -765,7 +765,7 @@
+diff -r a18571d686cd mcabber/mcabber/xmpp_iq.c
+--- a/mcabber/mcabber/xmpp_iq.c	Fri Dec 09 01:38:39 2016 +0200
++++ b/mcabber/mcabber/xmpp_iq.c	Fri Dec 09 01:48:31 2016 +0200
+@@ -791,7 +791,7 @@
      return LM_HANDLER_RESULT_REMOVE_MESSAGE;
    }
  
@@ -414,7 +415,7 @@
  
    r = lm_message_new_iq_from_query(m, LM_MESSAGE_SUB_TYPE_RESULT);
    query = lm_message_node_add_child(r->node, "query", NULL);
-@@ -792,7 +792,7 @@
+@@ -818,7 +818,7 @@
  
    lm_connection_send(c, r, NULL);
    lm_message_unref(r);
@@ -423,7 +424,7 @@
    return LM_HANDLER_RESULT_REMOVE_MESSAGE;
  }
  
-@@ -820,7 +820,7 @@
+@@ -846,7 +846,7 @@
      return LM_HANDLER_RESULT_REMOVE_MESSAGE;
    }
  
@@ -432,7 +433,7 @@
  
    r = lm_message_new_iq_from_query(m, LM_MESSAGE_SUB_TYPE_RESULT);
    query = lm_message_node_add_child(r->node, "time", NULL);
-@@ -857,7 +857,7 @@
+@@ -883,7 +883,7 @@
  
    lm_connection_send(c, r, NULL);
    lm_message_unref(r);