fix-receipts.diff
author Myhailo Danylenko <isbear@ukrpost.net>
Wed, 01 Aug 2012 23:31:49 +0300
changeset 40 9a0de2a8d877
parent 36 b8854e2fe147
permissions -rw-r--r--
Add update-help.diff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     1
# HG changeset patch
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
     2
# Parent 99db5d4ed047b3dbe54727c1df311531f611f31f
29
335662766a88 Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents: 26
diff changeset
     3
Fix receipts handling according to recent XEP updates
335662766a88 Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents: 26
diff changeset
     4
335662766a88 Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents: 26
diff changeset
     5
  * add lm_get_uid() @xmpp_helper.h
335662766a88 Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents: 26
diff changeset
     6
  * identify receipts by id attribute of 'received' subelement
335662766a88 Some updates to add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents: 26
diff changeset
     7
    instead of stanza id
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     8
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
     9
diff -r 99db5d4ed047 mcabber/mcabber/hbuf.c
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    10
--- a/mcabber/mcabber/hbuf.c	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    11
+++ b/mcabber/mcabber/hbuf.c	Mon Apr 30 23:10:28 2012 +0300
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
@@ -525,7 +525,7 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    13
 //  hbuf_remove_receipt(hbuf, xep184)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
 // Remove the Receipt Flag for the message with the given xep184 id
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
 // Returns TRUE if it was found and removed, otherwise FALSE
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    16
-gboolean hbuf_remove_receipt(GList *hbuf, gpointer xep184)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    17
+gboolean hbuf_remove_receipt(GList *hbuf, gconstpointer xep184)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    18
 {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    19
   hbuf_block *blk;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    20
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    21
@@ -533,7 +533,8 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
   for ( ; hbuf; hbuf = g_list_previous(hbuf)) {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
     blk = (hbuf_block*)(hbuf->data);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
-    if (blk->prefix.xep184 == xep184) {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    26
+    if (!g_strcmp0 (blk->prefix.xep184, xep184)) {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    27
+      g_free (blk->prefix.xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
       blk->prefix.xep184 = NULL;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    29
       blk->prefix.flags ^= HBB_PREFIX_RECEIPT;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    30
       return TRUE;
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    31
diff -r 99db5d4ed047 mcabber/mcabber/hbuf.h
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    32
--- a/mcabber/mcabber/hbuf.h	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    33
+++ b/mcabber/mcabber/hbuf.h	Mon Apr 30 23:10:28 2012 +0300
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    34
@@ -50,7 +50,7 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    35
 GList *hbuf_jump_date(GList *hbuf, time_t t);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    36
 GList *hbuf_jump_percent(GList *hbuf, int pc);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
 GList *hbuf_jump_readmark(GList *hbuf);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
-gboolean hbuf_remove_receipt(GList *hbuf, gpointer xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    39
+gboolean hbuf_remove_receipt(GList *hbuf, gconstpointer xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    40
 void hbuf_set_readmark(GList *hbuf, gboolean action);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    41
 void hbuf_remove_trailing_readmark(GList *hbuf);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    42
 
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    43
diff -r 99db5d4ed047 mcabber/mcabber/screen.c
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    44
--- a/mcabber/mcabber/screen.c	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    45
+++ b/mcabber/mcabber/screen.c	Mon Apr 30 23:10:28 2012 +0300
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    46
@@ -2239,7 +2239,7 @@
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    47
     scr_show_window(jidto, FALSE);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    48
 }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    49
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    50
-void scr_remove_receipt_flag(const char *bjid, gpointer xep184)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    51
+void scr_remove_receipt_flag(const char *bjid, gconstpointer xep184)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    52
 {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    53
   winbuf *win_entry = scr_search_window(bjid, FALSE);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    54
   if (win_entry) {
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    55
diff -r 99db5d4ed047 mcabber/mcabber/screen.h
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    56
--- a/mcabber/mcabber/screen.h	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    57
+++ b/mcabber/mcabber/screen.h	Mon Apr 30 23:10:28 2012 +0300
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    58
@@ -108,7 +108,7 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    59
 void scr_update_main_status(int forceupdate);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    60
 void scr_update_chat_status(int forceupdate);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    61
 void scr_roster_visibility(int status);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    62
-void scr_remove_receipt_flag(const char *jidto, gpointer xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    63
+void scr_remove_receipt_flag(const char *jidto, gconstpointer xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    64
 void scr_show_buddy_window(void);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    65
 int  scr_buddy_buffer_exists(const char *jid);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    66
 void scr_update_buddy_window(void);
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    67
diff -r 99db5d4ed047 mcabber/mcabber/xmpp.c
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    68
--- a/mcabber/mcabber/xmpp.c	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    69
+++ b/mcabber/mcabber/xmpp.c	Mon Apr 30 23:10:28 2012 +0300
24
7bb7fb2c1822 Put patches with fixes at the start of queue
Myhailo Danylenko <isbear@ukrpost.net>
parents: 23
diff changeset
    70
@@ -295,15 +295,6 @@
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    71
   g_slist_free(resources);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    72
 }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    73
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    74
-static LmHandlerResult cb_xep184(LmMessageHandler *h, LmConnection *c,
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    75
-                                 LmMessage *m, gpointer user_data)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    76
-{
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    77
-  char *from = jidtodisp(lm_message_get_from(m));
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    78
-  scr_remove_receipt_flag(from, h);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    79
-  g_free(from);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    80
-  return LM_HANDLER_RESULT_REMOVE_MESSAGE;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    81
-}
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    82
-
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    83
 //  xmpp_send_msg(jid, text, type, subject,
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    84
 //                otrinject, *encrypted, type_overwrite)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    85
 // When encrypted is not NULL, the function set *encrypted to 1 if the
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    86
@@ -432,7 +423,8 @@
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    87
     lm_message_node_set_attribute
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    88
             (lm_message_node_add_child(x->node, "request", NULL),
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    89
              "xmlns", NS_RECEIPTS);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    90
-    *xep184 = lm_message_handler_new(cb_xep184, NULL, NULL);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    91
+    *xep184 = lm_get_uid ();
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    92
+    lm_message_node_set_attribute (x->node, "id", (const gchar *)*xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    93
   }
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    94
   g_free(barejid);
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    95
 
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
    96
@@ -499,11 +491,7 @@
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    97
   if (mystatus != invisible)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    98
 #endif
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    99
     update_last_use();
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   100
-  if (xep184 && *xep184) {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   101
-    lm_connection_send_with_reply(lconnection, x, *xep184, NULL);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   102
-    lm_message_handler_unref(*xep184);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   103
-  } else
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   104
-    lm_connection_send(lconnection, x, NULL);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   105
+  lm_connection_send(lconnection, x, NULL);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   106
   lm_message_unref(x);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   107
 }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   108
 
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   109
@@ -1305,6 +1293,16 @@
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   110
     lm_message_unref(rcvd);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   111
   }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   112
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   113
+  { // xep184 receipt confirmation
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   114
+    LmMessageNode *received = lm_message_node_get_child (m->node, "received");
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   115
+    if (received && !g_strcmp0 (lm_message_node_get_attribute (received, "xmlns"), NS_RECEIPTS)) {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   116
+      char       *jid = jidtodisp(from);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   117
+      const char *id  = lm_message_node_get_attribute (received, "id");
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   118
+      scr_remove_receipt_flag(jid, id);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   119
+      g_free(jid);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   120
+    }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   121
+  }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   122
+
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   123
   if (from) {
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   124
     x = lm_message_node_find_xmlns(m->node, NS_MUC_USER);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   125
     if (x && !strcmp(x->name, "x"))
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   126
diff -r 99db5d4ed047 mcabber/mcabber/xmpp_helper.c
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   127
--- a/mcabber/mcabber/xmpp_helper.c	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   128
+++ b/mcabber/mcabber/xmpp_helper.c	Mon Apr 30 23:10:28 2012 +0300
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   129
@@ -72,7 +72,6 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   130
   {0, NULL, NULL, NULL, NULL}
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   131
 };
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   132
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   133
-
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   134
 #ifdef MODULES_ENABLE
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   135
 static GSList *xmpp_additional_features = NULL;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   136
 static char *ver, *ver_notavail;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   137
@@ -104,6 +103,13 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   138
 }
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   139
 #endif
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   140
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   141
+// The caller must g_free this after use
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   142
+gchar *lm_get_uid ()
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   143
+{
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   144
+  static guint xmpp_uid = 0;
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   145
+  return g_strdup_printf ("mc%u", ++xmpp_uid);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   146
+}
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   147
+
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   148
 const gchar* lm_message_node_get_child_value(LmMessageNode *node,
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   149
                                              const gchar *child)
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   150
 {
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   151
diff -r 99db5d4ed047 mcabber/mcabber/xmpp_helper.h
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   152
--- a/mcabber/mcabber/xmpp_helper.h	Thu Mar 01 20:18:00 2012 +0100
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   153
+++ b/mcabber/mcabber/xmpp_helper.h	Mon Apr 30 23:10:28 2012 +0300
23
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   154
@@ -29,6 +29,8 @@
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   155
 void xmpp_del_feature (const char *xmlns);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   156
 #endif
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   157
 
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   158
+gchar *lm_get_uid (void);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   159
+
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   160
 LmMessageNode *lm_message_node_new(const gchar *name, const gchar *xmlns);
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   161
 LmMessageNode *lm_message_node_find_xmlns(LmMessageNode *node,
cd3518eab042 Added fix-receipts patch
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   162
                                           const char *xmlns);