[BACK]Return to patch-src_core_xep_version_c CVS log [TXT][DIR] Up to [local] / ports / net / irssi-xmpp / patches

Annotation of ports/net/irssi-xmpp/patches/patch-src_core_xep_version_c, Revision 1.1.1.1

1.1       yason       1: $gate: patch-src_core_xep_version_c,v 1.1 2010/04/04 16:58:12 dukzcry Exp $
                      2: Send arch info on version os info request in addition to os name
                      3:
                      4: --- src/core/xep/version.c.orig                Fri Apr  3 15:21:35 2009
                      5: +++ src/core/xep/version.c             Sun Apr  4 20:48:27 2010
                      6: @@ -44,6 +44,8 @@ send_version(XMPP_SERVER_REC *server, const char *dest
                      7:        LmMessageNode *node;
                      8:        struct utsname u;
                      9:        char *recoded;
                     10: +      unsigned char *sysdescr;
                     11: +      size_t sysname_len;
                     12:
                     13:        recoded = xmpp_recode_out(dest);
                     14:        lmsg = lm_message_new_with_sub_type(recoded, LM_MESSAGE_TYPE_IQ,
                     15: @@ -58,8 +60,18 @@ send_version(XMPP_SERVER_REC *server, const char *dest
                     16:                    IRSSI_XMPP_PACKAGE);
                     17:                lm_message_node_add_child(node, "version",
                     18:                    IRSSI_XMPP_VERSION);
                     19: -              if (uname(&u) == 0)
                     20: -                      lm_message_node_add_child(node, "os", u.sysname);
                     21: +              if (uname(&u) == 0) {
                     22: +                      sysname_len = strlen(u.sysname);
                     23: +                      sysdescr = g_malloc(sysname_len + strlen(u.machine) + 2);
                     24: +
                     25: +                      memmove(sysdescr, u.sysname, sysname_len);
                     26: +                      sysdescr[sysname_len] = '/';
                     27: +                      memmove(sysdescr + sysname_len + 1, u.machine, strlen(u.machine));
                     28: +                      sysdescr[sysname_len + strlen(u.machine) + 1] = '\0';
                     29: +                      lm_message_node_add_child(node, "os", sysdescr);
                     30: +                      g_free(sysdescr);
                     31: +                      sysdescr = NULL;
                     32: +              }
                     33:        }
                     34:        signal_emit("xmpp send iq", 2, server, lmsg);
                     35:        lm_message_unref(lmsg);

CVSweb